Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / C++ [игнор отключен] [закрыт для гостей] / вопрос по generics (от новичка с++) / 4 сообщений из 4, страница 1 из 1
19.07.2006, 17:21
    #33864824
Барбудас
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вопрос по generics (от новичка с++)
Помогите плз новичку c++, который с тех пор как и про дженерики-то узнал -не прошло и сис жур. :))
Вопрос по синтаксу.
с++.net VS2005



Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
//есть класс myAbstClass 

public ref class myAbstClass abstract{
	{
	public:
		myAbstClass (void);
} 
// есть наследники этого класса
// ....

// есть класс Class1
// поле Class1::myClassObj хочу инициализировать при первом обращении к
// свойтсву MyClassObj, которым оно инкапсулируется.

generic <class MyAC> where MyAC: myAbstClass 
	public ref class Class1{

...
		private: MyAC myClassObj;
		public: property MyAC MyClassObj{
			MyAC get()
			{
				if (!myClassObj)
				{
					myClassObj=??????;
				}
				return myClassObj;
			}
		}
...
}
 


Вопросы.

1) Как инициализировать myClassObj в строке, где я знаки вопроса поставил? Надо как-то правильно указать в myAbstClass что все наследники будут иметь constructor без параметров. А при инициализации указать, что будет вызван именно конструктор MyAC. Но каааааак - не знаю.

В MSDN есть масса примеров, вроде
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
generic <typename ItemType>
ref class MyClass {
private:
   property ItemType myField;

public:
   property ItemType MyProperty {
      ItemType get() {
         return myField; 
      }
      void set(ItemType value) {
         myField = value;
      }
   }
};
но не описана инициализация через конструктор.
Возможно ли???? Как?

2) Пора ли мне убить себя об стену, потому что в мои годы уже надо бы знать, что то-то, то-то и то-то, а вот так-то нельзя делать ни в коем случае, и пр....?
:) Ответы на этот вопрос тоже, есс-но, приветствуются!

Спасибо.
...
Рейтинг: 0 / 0
20.07.2006, 01:59
    #33865567
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вопрос по generics (от новичка с++)
Это не С++, ты наверное перепутал, брат...
...
Рейтинг: 0 / 0
20.07.2006, 11:46
    #33866370
Барбудас
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вопрос по generics (от новичка с++)
MasterZivЭто не С++, ты наверное перепутал, брат...


????
я правильно понял, что это мнение о с++.net?
...
Рейтинг: 0 / 0
20.07.2006, 15:50
    #33867528
Барбудас
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вопрос по generics (от новичка с++)
сделал инициализацию через
Код: plaintext
1.
2.
3.
4.
5.
	System::Type ^t=MyAC::typeid;
	System::Reflection::ConstructorInfo^ ci= t->GetConstructor(gcnew array<System::Type^>( 0 ){});
	commentator=(MyAC)ci->Invoke(gcnew array<Object^>( 0 ){});
	delete ci;
	delete t;

хотя аз есмь не любитель таких фокусов. :(
...
Рейтинг: 0 / 0
Форумы / C++ [игнор отключен] [закрыт для гостей] / вопрос по generics (от новичка с++) / 4 сообщений из 4, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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