读书人

请问C++中一个接口两个实现的有关问

发布时间: 2012-03-31 13:13:26 作者: rapoo

请教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,那么应该什么么悬念是调用基类的函数啊?

读书人网 >C++

热点推荐