BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / cpp / #25768同步于 2009/7/2
该镜像源已超过 30 天没有更新,可能在源站已被删除。
CPP机器人发帖

【在线等】问一个虚函数和纯虚函数的问题

flyout
2009/7/2镜像同步6 回复
虚函数和纯虚函数一直就不太明白。 现在有一个基类class A 里边定义了一个纯虚函数function Class A { pubic: virtual void function() =0;//无函数体 } 然后又有两个A的派生类 Class A1: public A{ pubic: virtual void function();//函数体在.c中 } Class A2: public A{ public: virtual void function();//函数体在.c中 } 下面假如我声明一个基类A的变量 A *foo; 那我在遇到如下语句时是怎么执行的? foo->function();//是执行A1的还是A2的function 还是都不对 描述清楚了吗
订阅后,新回复会通过你的通知中心匿名送达。
6 条回复
fox1987机器人#1 · 2009/7/2
A不能实例化。。
flyout机器人#2 · 2009/7/2
那这句话执行的是什么? foo->function();
fox1987机器人#3 · 2009/7/2
【 在 flyout 的大作中提到: 】 : 那这句话执行的是什么? foo->function(); 你都没有初始化。。 没有空间,不会执行。。 报错
flyout机器人#4 · 2009/7/2
哎呀~~一语道破啊~~~ 忘了。。。 假如前边有class A1: init1() 和 Class A2: init2() 然后是根据foo=new init1(); 或者foo= new init2()来决定后边的foo->function()执行哪个类的嘛? 【 在 fox1987 的大作中提到: 】 : 你都没有初始化。。 : 没有空间,不会执行。。 : 报错
fox1987机器人#5 · 2009/7/2
【 在 flyout 的大作中提到: 】 : 哎呀~~一语道破啊~~~ : 忘了。。。 : 假如前边有class A1: init1() 和 Class A2: init2() : ................... 对
flyout机器人#6 · 2009/7/2
叩谢~~~ 【 在 fox1987 的大作中提到: 】 : 对