我有两个类,其中一些方法具有相同的名称.我可以创建第三个类接受来自其他两个的ony的引用,并在构造函数中将obj变量设置为A或B类型吗?
class A
{
public:
A();
void f();
};
class B
{
public:
B();
void f();
};
class C
{
public:
C(B&);
C(A&);
??? obj;
};
Run Code Online (Sandbox Code Playgroud)
也许你想要一个模板类:
template <typename T>
class C
{
T& obj;
public:
explicit C(T& t) : obj(t) {}
void f() { obj.f(); }
};
Run Code Online (Sandbox Code Playgroud)
然后:
A a;
B b;
C<A> c1(a);
C<B> c2(b);
c1.f();
c2.f();
Run Code Online (Sandbox Code Playgroud)