我有两个类,它们的某些方法具有相同的名称。
我可以创建第三个类来接受其他两个对象的引用,并在构造函数中将obj变量设置为A或B类型吗?
class A
{
public:
A();
void f();
};
class B
{
public:
B();
void f();
};
class C
{
public:
C(B&);
C(A&);
??? obj;
};
最佳答案
也许您想要一个模板类:
template <typename T>
class C
{
T& obj;
public:
explicit C(T& t) : obj(t) {}
void f() { obj.f(); }
};
然后:
A a;
B b;
C<A> c1(a);
C<B> c2(b);
c1.f();
c2.f();
关于c++ - 类引用另外两个类,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31047798/