类引用另外两个类

sel*_*fbg 2 c++

我有两个类,其中一些方法具有相同的名称.我可以创建第三个类接受来自其他两个的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)

son*_*yao 5

也许你想要一个模板类:

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)