分类: C/C++
2010-03-19 12:10:41
class IA:public InterfaceA
{
public:
void func(){}
};
class IB:public InterfaceB
{
public:
void func(){}
};
class myClass:public IA , public IB
{
};
class InterfaceA
{
public:
virtual void func()=0;
};
class InterfaceB
{
public:
virtual void func()=0;
};
class MyClass : public InterfaceA, public InterfaceB
{
public:
virtual void InterfaceA::func()
{
printf("A");
}
virtual void InterfaceB::func()
{
printf("B");
}
};
int main(int argc, _TCHAR* argv[])
{
MyClass* p = new MyClass();
((InterfaceB*)p)->func();
return 0;
}
chinaunix网友2010-03-19 12:11:56
楼主bluyo(云游)2002-12-10 06:34:59 在 C/C++ / C++ 语言 提问 要用c++编一个容器类,存放及处理各种图形对象(圆,三角形,四边形等),这些派生类都有共同的积累(shape类)。但不论是队,表还是栈只能接收相同类型的数据。我曾经试过从这些派生类中再派生出一个多继承的类,但操作太过麻烦。已经在这个shapecontainer类上费了好几天了,希望大家能帮帮我这个新手。 4 楼maozefa(阿发伯)回复于 2002-12-10 20:40:51 得分 18 写一个存放及处理各种图形对象(圆,三角形,四边形等)的C++容器类并不复杂,也不见得只能处理相同的数据。容器类分直接容器类和间接容器类,直接容器类用来处理同样长度的数据结构或类,间接容器类用来处理不同的数据结构或类,请看简单例子(即兴写成,未上机运行,仅供参考): class Base { virtual void Display(void) = 0; }; class A