Я новичок в дженериках. Мой производный класс должен передать тип generi c в базовый класс. Самому моему производному классу не нужен тип generi c.
class A { public: };
generic < typename T>
public ref class Base
{
public:
T m_Instance;
void Hello()
{
cout << "Base::Hello() called" << endl;
}
T GetInstance()
{
return m_Instance;
}
};
public ref class Derived : Base <A>
{
public:
void Print()
{
cout << "Derived::Print called" << endl;
Hello();
}
};
Как вы можете видеть, мой производный пример знает, что такое тип generi c для базового класса, но я не знаю как оно может быть получено из него и доказать тип?
Приложение выглядит так, и, как вы можете видеть, сам класс Derived не использует тип generi c извне.
int main(cli::array<System::String ^> ^args)
{
Derived d;
d.Print();
}