powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / Функция создания экземпляра класса
8 сообщений из 8, страница 1 из 1
Функция создания экземпляра класса
    #32922087
EDUDK01
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем привет,

Такой вопрос, есть класс формы:

public __gc class Form1 : public Form
{
.....
.....
};

который создается методом:

Form1*NewForm=new Form1;
NewForm->Show();

Как написать функцию примерно такого вида:

void CreateForm(FormName)
{
FormName*NewForm=new FormName;
FormName->Show();
}

которая в качестве аргумента будет принимать или класс или указатель на класс.

Если что неверно, я заранее извиняюсь, я только начинаю с с++ работать.

Спасибо.
...
Рейтинг: 0 / 0
Функция создания экземпляра класса
    #32922124
alex_k
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
кажется в с++ так не выйдет.
может быть в шарпах каких...
а это действительно нужно?
...
Рейтинг: 0 / 0
Функция создания экземпляра класса
    #32922132
FishingIsGood
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
template <typename SomeForm>
SomeForm* create_form()
{
    SomeForm *form = new SomeForm();
    form->Show();
}

MyForm *myForm = create_form<MyForm>();
...
delete myForm;

или

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
template <typename SomeForm>
SomeForm* create_form(SomeForm dummyForm)
{
    SomeForm *form = new SomeForm();
    form->Show();
}

MyForm *initialForm;

MyForm *myForm = create_form(initialForm);
...
delete myForm;
...
Рейтинг: 0 / 0
Функция создания экземпляра класса
    #32922133
FishingIsGood
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Забыл

return form;

Вернуть её надо, что бы не забыть потом удались.
...
Рейтинг: 0 / 0
Функция создания экземпляра класса
    #32922134
alex_k
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ага, я о таком думал, только насчет передачи в функцию SomeForm DummyForm недодумал...

он то, вишь, хочет именно класс передавать, а не объект класса, хотябы и не созданный :-)
...
Рейтинг: 0 / 0
Функция создания экземпляра класса
    #32922285
dwl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
dwl
Гость
Если в стиле Шарп, тогда надо использовать рефлекшн
class Type
или если хочешь собрать свой тип, то
class TypeBuilder
...
Рейтинг: 0 / 0
Функция создания экземпляра класса
    #32922288
dwl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
dwl
Гость
а если в классическом стиле С++, то тут затрагивается такая вещь как фабрика объектов, НО только если ты хочешь сделать "виртуальный" конструктор. В твоей ситуации в этом нет необходимости.
...
Рейтинг: 0 / 0
Функция создания экземпляра класса
    #32923070
EDUDK01
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем большое спасибо, пойду пробовать.
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / Функция создания экземпляра класса
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]