基类的指针怎么调用派生类的函数 假如基类的指针p怎么调用派生类的函数a()用p->a()是不行的 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 再说清楚一点,基类名base,派生类名derivedbase *p;*p=new derived()之后调用派生类函数要怎么写? 1.用虚函数,比如class base { public: virtual void f(){...}}class derived : pulbic base {}调用base *p;*p=new derived();p->f();2.向下转换base *p;*p=new derived() 假设derived class有一函数 fd,而基类没有则可以 (dynamic_cast<derived *>(p))->fd(); 楼上说的(dynamic_cast<derived *>(p))->fd();这种方法是不是基类中也需要虚函数 应该说基类指针怎么调用派生类对象的方法。CBaseClass是CBaseClass的派生类,Function在基类中定义为虚函数,不以不实现。派生类中重新实现Function方法就好然后如下调用:CBaseClass *pBase = new CSubClass();pBase->Function();pBase调用的就是派生类对象的方法 COM接口问题 请教,在一个进程控件如何获取另一个进程的错误信息 怎么设置文本框里的字体颜色 有人用过ImageEdit.OCX吗 求锁屏程序 请问是不是学完了《windows核心编程》再学vc就不会太难 如何读取*.txt文件里的内容? 女孩子们,快进来! 关于VC制作OCX问题(请教高手) 為什么沒效果?請指教 如何运行一段机器码? VS2005使用MFC进行串口数据接收时出现的问题
base *p;
*p=new derived()
之后调用派生类函数要怎么写?
class base
{
public:
virtual void f(){...}
}
class derived : pulbic base
{}
调用
base *p;
*p=new derived();
p->f();
2.向下转换
base *p;
*p=new derived()
假设derived class有一函数 fd,而基类没有
则可以
(dynamic_cast<derived *>(p))->fd();
CBaseClass是CBaseClass的派生类,
Function在基类中定义为虚函数,不以不实现。
派生类中重新实现Function方法就好
然后如下调用:
CBaseClass *pBase = new CSubClass();
pBase->Function();
pBase调用的就是派生类对象的方法