注册 登录
编程论坛 C++教室

真心请教C++一些语法问题

wsnmb111 发布于 2012-08-08 06:49, 339 次点击
类list 是类listview的父类。birtual void  t_updatelable(void)=0;这个虚函数在基类list头文件被定义,函数体在listview中,可是listview的头文件却是void t_updatelable(void);

在基类的位置如下:

t_EnableChannelList(bool bEnable)  

{

t_bEnabled=bEnable

.....

....

t_Updatelable();

}

 请问,虚函数的调用中, 基类无指针或者引用来存贮或指向派生类的对象的地址,是怎么从基类的源文件直接调到他的派生类函数体中的?

2在基类中声明为virtual的函数,在所有的从基类中派生的类(直接或间接)中都是虚函数。可是为什么t_Updatelable()会在listview .h文件中那样定义呢?
3 回复
#2
peach54602012-08-08 08:45
基类写了是虚的,子类可以不写滴
#3
pangding2012-08-08 10:51
嗯。正如楼上所说。虚函数在继承的时候,会把“虚”这个性质继承下来,即使子类并不这样声明。
#4
pangding2012-08-08 10:53
至于调用的那个问题。编译器自会想办法让程序在执行时,能通过基类调用到适合的子类函数。
如果楼主有兴趣知道这是怎么实现的,可以去搜一下 虚函数表 之类的内容。
1