我有类似的东西(简化)
class A
{
public:
virtual void Function () = 0;
};
class B
{
public:
virtual void Function () = 0;
};
class Impl : public A , public B
{
public:
????
};
Run Code Online (Sandbox Code Playgroud)
如何为A实现Function()和为B实现Function()?Visual C++允许您只定义内联的特定函数(即不在cpp文件中),但我认为它是一个扩展.海湾合作委员会抱怨这一点.是否有标准的C++方式告诉编译器我要覆盖哪个函数?
(visual c ++ 2008)
class Impl : public A , public B
{
public:
void A::Function () { cout << "A::Function" << endl; }
void B::Function () { cout << "B::Function" << endl; }
};
Run Code Online (Sandbox Code Playgroud)
谢谢!
标题可能令人困惑.
假设我们有以下设置;
class A
{
public:
virtual void fn() = 0;
};
class B
{
public:
virtual int fn() {};
};
class C: public A, public B
{
};
Run Code Online (Sandbox Code Playgroud)
有什么办法来定义A::fn的class C?