抽象模板类和继承构造函数

时间:2015-05-24 14:11:03

标签: c++ templates

我有构造函数的问题我想做这样的事情:

A<int>* first = new B<int>
A<int> *second;

second= new B<int>(*A);

我已尝试在参数列表指针,引用和值中使用,但没有任何工作,我不知道为什么。这是我不工作的构造函数:

template <class T>
B<T>::B(B<T> other) 

它适用于const A<T>&谢谢, 如果可以,还有一件事。我必须在此构造函数中访问B类私有类字段。如果我只有其他的A类。我可以在其他一些人这样做吗?

1 个答案:

答案 0 :(得分:1)

假设B<T>继承了A<T>,正如您在评论中所述,您在撰写new B<int>( some_value_of_type_A );

时正试图downcast

你必须提供一个类型A<T>的构造函数,如下所示:

template<class T>
B<T>::B(const A<T>& other);