【发布时间】:2015-12-22 20:12:03
【问题描述】:
我想知道,如果我这样做,我可以在类B 的复制构造函数中调用模板类A 的复制构造函数,这两个类不在同一个文件中。
template<typename T> class A: public AP<T>
{
public:
A();
A(const A&);
~A();
};
#include "A"
class B: public BP
{
private:
A<int> Amember;
public:
B();
B(const B&);
~B();
};
谢谢:)
【问题讨论】:
-
需要更多信息——你想复制什么?
B是否有A类型成员?BP类型是否与AP有某种关联? -
“都继承了 AP 和 BP 类”——据我们所见,它们没有。一个继承自
AP,另一个继承自BP。无论如何,B没有/不是A。 -
哦,是的,抱歉 LogicStuff 我表达得不好,我要给你加一些 inofs
-
你不能在
B中有A<T> Amember;,因为它不是一个类模板(有T作为参数)。要么将其设为 1,要么指定T-A<int> Amember;。 -
是的,实际上已经是这样了,抱歉我做例子时弄错了:s
标签: c++ templates constructor