如何构建派生类?
现有类A
class A
{
char p[3];
virtual void visit(){};
}
class B
{
A a;
do();
}
void B::do()
{
a.visit();
}我希望能把C派生自A,D派生于B,在D中访问父类方法do是调用的是C中自己的visit,请问怎样实现?是这样吗?
class C::public A
{
void visit()
}class D::pulblic B
{
}
现有类A
class A
{
char p[3];
virtual void visit(){};
}
class B
{
A a;
do();
}
void B::do()
{
a.visit();
}我希望能把C派生自A,D派生于B,在D中访问父类方法do是调用的是C中自己的visit,请问怎样实现?是这样吗?
class C::public A
{
void visit()
}class D::pulblic B
{
}
解决方案 »
- 位图叠加问题
- 对话框边框设置为none时如何才能resizable?
- 如何创建一个线程
- 树控件的双击消息为何只有点击item才触发,如何才能在点任何位置都可以触发
- 答上,马上奉上这20分!角度怎么转化为弧度?RADIAN(angle);怎么不行啊?
- CXTOutlookBar类的问题,用过这个的来帮帮忙.谢
- 怎么转换MP3文件的比特率?
- 求服务器端原码:select模型。(可以调试通过的。)
- 请问在VC中定义一个类,这个类从哪个类继承,它就可以收发消息了?
- 一个小问题:
- 我一直是用Delphi开发的,但目前公司业务需要,要用VC开发产品,各位推荐下好的VC学习网站
- 求救!关于对话框,ListView, 右键弹出菜单的编程问题。在线等待!!!!!
CLASS C连实例化的机会都没有。
一点关系都没有,我认为不能实现,
要实现就
class B
{
public:
B(){pa= NULL};
A* pa;
do();
}
void B::do()
{
if(a)
a->visit();
}这样你才有可以实现
class D : public B
{
D(){pa = new C;};
}
class B
{
A* pa;
do();
}class D:public B
{
D(A* p){pa = p};
}
那么构造D时只要传入C型的指针就行了。