免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12
最近访问板块 发新帖
楼主: biansj
打印 上一主题 下一主题

[函数] 问一个类继承时关于虚函数的问题 [复制链接]

论坛徽章:
0
11 [报告]
发表于 2003-03-04 10:18 |只看该作者

问一个类继承时关于虚函数的问题

它在第一句话
  1.   B*b;
复制代码

会不会已调用默认构造函数,
难道只有用
  1. B  b;
复制代码
时才会吗?

论坛徽章:
0
12 [报告]
发表于 2003-03-04 11:31 |只看该作者

问一个类继承时关于虚函数的问题

指向对象的指针和对象本身不是一回事,B *b只是声明一个基类对象的指针,表示它可以指向一个B或B的子类的对象,但并不确定指向什么地方,如果把指针本身看作是一个对象的话,则调用的是对指针的构造函数,而非指针指向的对象的构造函数。而B b则声明了一个变量,这个的确是要去调用B的构造函数,因为这个语句执行后,名字为b的这个对象事实在在地存在了。

论坛徽章:
0
13 [报告]
发表于 2003-03-04 22:44 |只看该作者

问一个类继承时关于虚函数的问题

to:huicer

                B*b;
是不会调用构造函数的,只是生成一个指针而已

论坛徽章:
0
14 [报告]
发表于 2003-03-04 22:57 |只看该作者

问一个类继承时关于虚函数的问题

对C++理解深刻的人都知道,虚函数的设置是为了实现多太性,
多太的实现的需要3个条件:
1)需要用到的函数申明为virtual;
2)类作为参数使用,且是类的指针或引用的形式;
3)需要使用”父类“作为参数使用;

因此,我始终认为,搂主这段代码始终没有没有设计到什么虚函数,
更确切的说是多太的问题,只不过是普通函数的调用问题而已。
呵呵!

----------------------
革命尚未成功,同志还需努力!

论坛徽章:
0
15 [报告]
发表于 2003-03-04 23:36 |只看该作者

问一个类继承时关于虚函数的问题

原帖由 "pcerma" 发表:
对C++理解深刻的人都知道,虚函数的设置是为了实现多太性,
多太的实现的需要3个条件:
1)需要用到的函数申明为virtual;
2)类作为参数使用,且是类的指针或引用的形式;
3)需要使用”父类“作为参数使用;
..........


非常感谢,我理解又深刻了一些,不讨论,有时候还真不能把问题搞清楚!
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP