找回密码
 注册
搜索
热搜: 回贴
  • 前程无忧官网首页 有什么好的平台可以
  • 最新的销售平台 互联网营销的平台有哪
  • 制作网页的基本流程 网页制作和网页设
  • 【帝国CMS】输出带序号的列表(数字排
  • 网站建设公司 三一,中联,极东泵车的
  • 织梦 建站 织梦网站模版后台怎么更改
  • 云服务官网 哪些网站有免费的简历模板
  • 如何建网站要什么条件 建网站要用什么
  • 吉林市移动公司电话 吉林省退休人员网
  • 设计类毕业论文 网站设计与实现毕业论
查看: 829|回复: 9

求助几个C++的概念问题

[复制链接]
发表于 2009-11-3 01:34:47 | 显示全部楼层 |阅读模式 IP:江苏扬州
1。一个类有一个无参构造函数和一个有参构造函数,那可不可以在无参构造函数里面调用有参构造函数。
2。覆盖和重载的区别。
3。在哪些情况下必须调用构造函数。
发表于 2009-11-3 01:34:48 | 显示全部楼层 IP:江苏扬州
的确很概念!
回复

使用道具 举报

发表于 2009-11-3 01:34:57 | 显示全部楼层 IP:江苏扬州
我还没学到呢!不好意识啊
回复

使用道具 举报

发表于 2009-11-3 01:34:59 | 显示全部楼层 IP:江苏扬州
太难了,
回复

使用道具 举报

发表于 2009-11-3 01:35:00 | 显示全部楼层 IP:江苏扬州
重载是override吧?覆盖的英文是什么?
回复

使用道具 举报

发表于 2009-11-3 01:35:01 | 显示全部楼层 IP:江苏扬州
重载和覆盖不是同一个概念
不要误人子弟
回复

使用道具 举报

发表于 2009-11-3 01:35:03 | 显示全部楼层 IP:江苏扬州
1。一个类有一个无参构造函数和一个有参构造函数,那可不可以在无参构造函数里面调用有参构造函数。
不行
因为你的构造函数就是在执行类的定义,再还没有定义完全的时候又开始另一种重载定义,定义是不能递归自己的
3.在你的数据成员有指针等需要分配堆区间时(PNEW/DELETE),需要自己写,要不系统自动浅拷贝.而浅拷贝只能拷贝它的数值.
如果没有分配堆区间的动作系统的默认拷贝就能完成.
2.第二个没学呢.不知道覆盖
回复

使用道具 举报

发表于 2009-11-3 01:35:07 | 显示全部楼层 IP:江苏扬州
我说的第3个问题是什么时候必须调用构造函数,我知道有一种情况是当有引用数据成员时,因为引用成员必须在定义的时候就初始化,所以这种情况必须调用构造函数,这和拷贝构造函数不是一回事
回复

使用道具 举报

发表于 2009-11-3 01:35:08 | 显示全部楼层 IP:江苏扬州
以下是引用sherbin在2006-4-20 12:32:00的发言:
1。一个类有一个无参构造函数和一个有参构造函数,那可不可以在无参构造函数里面调用有参构造函数。
2。覆盖和重载的区别。
3。在哪些情况下必须调用构造函数。
1、在无参数构造函数中调用有参构造函数,那么有参构造函数的参数何来?
2、覆盖有时也被称为改写(override),覆盖是指对某一个函数的完全复写,包括返回值、参数名和参数表,如果其实现没有区别,那么这种覆盖就没有任何意义了,覆盖只能出现在子类继承父类并实现其虚拟函数时出现。重载(voerloaded)则要求函数的参数表必须有变化否,以使得同名函数表现出不同的处理功能。这种情况即可出现在父子继承关系中,也可出现在同一个类或不同的多个类中。两者都被称作是多态,也可以这样说覆盖是重载一种特殊情况。两者最重要的区别是,重载通常是在编译时解析的,是静态的;而改写则是一种运行时机制,即对于一个给定的调用,可能无法预言其将会执行何种行为,而只有到程序实际运行的时候才能对其进行确定。
3、你这个问题问得不是很明确,在任何情况下编译器都会为你调用构造函数。即使你没有显示的写出默认构造函数,编译器也会为你强行加入一个构造函数,以便在运行的时候调用。应该说,当你需要按照你要求的方式构造某个对象时,必须调用显示的调用有参构造数初始始化你的对象。这完全取决于你自己。
回复

使用道具 举报

发表于 2009-11-3 01:35:10 | 显示全部楼层 IP:江苏扬州
恩,也就是说,覆盖只能是基类和派生类之间同过虚函数才能产生的。函数声明必须一样,函数定义却应该不一样(要不然覆盖也就失去了意义)。而函数重载(任何地方都可以重载函数,只要你确实需要)则要求必须是函数声明中,函数名一样,函数的参数类型或数量不同。至于定义可以相同,也可不相同。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|小黑屋|最新主题|手机版|微赢网络技术论坛 ( 苏ICP备08020429号 )

GMT+8, 2024-9-30 05:31 , Processed in 0.127646 second(s), 13 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表