请教C++中,一个接口两个实现的问题
请教高手们:
一个接口,被两个类实现:
class IClass
{
public:
virtual ~IClass() {}
virtual aaaa() = 0;
};
两个类ClassA和ClassB实现的是同样的接口IClass,
在ClassA中,定义了接口IClass类型的指针:IClass* ia; 在ClassA中,没有对虚函数aaaa()做实现,而ClassB中,对aaaa做了实现。
在ClassA中,调用ia->aaaa();会有怎样的结果?会掉到ClassB中的实现吗?为什么?这么是什么理论?
[解决办法]
当然不会啦,因为A和B是两个没有关系的类,所以函数之间不会涉及到调用关系。
[解决办法]
我所知道的:
A类没有对纯虚函数进行定义,那么该类仍然不能定义对象,只能声明接口
不知道能不能通过声明A类指针调用aaa(),假设能(等高手解答)A类里包含的只有从基类派生来的aaaa,那么应该什么么悬念是调用基类的函数啊?