社区
C++ 语言
帖子详情
c++中构造函数的名字和类名字相同,有什么考虑?
qychjj
2009-12-07 04:44:04
(1)c++中构造函数的名字和类名字相同,有什么考虑?
(2)构造函数的返回值是什么?
...全文
1202
24
打赏
收藏
c++中构造函数的名字和类名字相同,有什么考虑?
(1)c++中构造函数的名字和类名字相同,有什么考虑? (2)构造函数的返回值是什么?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
24 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
taodm
2010-01-08
打赏
举报
回复
python语言的构造函数就叫__init__
所以,真值得你在这个问题上这么折腾么?
另外,就别引用这么2份低质量书籍里的东西了,作不了数的文字。
wesleyluo
2010-01-08
打赏
举报
回复
看到上面才明白点东东。
laozhong110
2010-01-08
打赏
举报
回复
应该与编译器约定有关
qychjj
2010-01-08
打赏
举报
回复
在高质量编程中,说道构造函数和析购函数名与类同名,为了使编译器能认得出,而且能自动执行;并且目前的命名方式简单,合理。
不返回值,是为了使编译器不至于不知所措。
但张国锋的《c++语言及其编程设计教程》中说道,其实构造函数是有返回值的,只是返回给系统使用罢了。
有没有人研究过c++标准阿,上面怎么说呢?
我没有找到其下载的地方,如果哪位有的话,能否共享一下?谢谢啦!
[Quote=引用 20 楼 sammylan 的回复:]
无语了.........
c++中构造函数的名字和类名字相同
主要原因并非是为了独一无二或者仅仅是C++之父的个人喜好
而是为了语意的统一和更加的直观
试想一下
对于基本类型如int,定义其指针并分配内存的格式如下
int * pi = new int(0)...
对于类
当然也要跟基本类型相一致
DataType * pMyDataType = new DataType(XXXX);
而DataType(XXXX)调用的就是对应的构造函数
或许你会说,我可以统一将所有类的构造函数都命名为
__ctor()
new DataType(XXXX);的时候再调用__cotr的对应版本啊?
但是这样有直接将构造函数命名为类名直观吗?
[/Quote]
SammyLan
2009-12-07
打赏
举报
回复
无语了.........
c++中构造函数的名字和类名字相同
主要原因并非是为了独一无二或者仅仅是C++之父的个人喜好
而是为了语意的统一和更加的直观
试想一下
对于基本类型如int,定义其指针并分配内存的格式如下
int * pi = new int(0)...
对于类
当然也要跟基本类型相一致
DataType * pMyDataType = new DataType(XXXX);
而DataType(XXXX)调用的就是对应的构造函数
或许你会说,我可以统一将所有类的构造函数都命名为
__ctor()
new DataType(XXXX);的时候再调用__cotr的对应版本啊?
但是这样有直接将构造函数命名为类名直观吗?
macrojj
2009-12-07
打赏
举报
回复
[Quote=引用 17 楼 wyzhao0102 的回复:]
占个便宜
构造函数有没有this指针?
[/Quote]
有
不然你觉得它怎么初始化数据的。
陌上花花
2009-12-07
打赏
举报
回复
就是一种规则,没有特别的东西,自己感觉是这样
wyzhao0102
2009-12-07
打赏
举报
回复
占个便宜
构造函数有没有this指针?
macrojj
2009-12-07
打赏
举报
回复
[Quote=引用 12 楼 huiguixian 的回复:]
这个好像从来没有听说过
构造函数本来就是和类的名字相同 这个貌似所有面向对象的语言都是这样吧
另外 构造函数是对类的对象的所有成员初始化 肯定不需要返回值
[/Quote]
原因和答案不太符合啊
为什么不要返回值 是因为返回值不知道给谁。
好想知道怎么调用构造函数 还要返回值。。。
fanchangyong
2009-12-07
打赏
举报
回复
[Quote=引用 12 楼 huiguixian 的回复:]
这个好像从来没有听说过
构造函数本来就是和类的名字相同 这个貌似所有面向对象的语言都是这样吧
另外 构造函数是对类的对象的所有成员初始化 肯定不需要返回值
[/Quote]
编译器的一种规定而已.....
「已注销」
2009-12-07
打赏
举报
回复
学习
「已注销」
2009-12-07
打赏
举报
回复
学习
小小攻城师
2009-12-07
打赏
举报
回复
这个好像从来没有听说过
构造函数本来就是和类的名字相同 这个貌似所有面向对象的语言都是这样吧
另外 构造函数是对类的对象的所有成员初始化 肯定不需要返回值
小小攻城师
2009-12-07
打赏
举报
回复
这个好像从来没有听说过
构造函数本来就是和类的名字相同 这个貌似所有面向对象的语言都是这样吧
另外 构造函数是对类的对象的所有成员初始化
ffffguuii
2009-12-07
打赏
举报
回复
构造函数无返回值的。
jkgao
2009-12-07
打赏
举报
回复
等待答案
shenzi
2009-12-07
打赏
举报
回复
可能是 定义一个对象的时候 如 A a; 调用相应的构造函数看起来是这么回事吧、、、
刘大枭
2009-12-07
打赏
举报
回复
一个类的构造函数必须和类名字相同,这是C++语音的规定,没什么好说的,规定是这样。构造函数之所以没有返回值,是因为构造函数通常在声明一个新对象时被调用,也就是说当调用构造函数后这个对象才存在,才能处理对象的各种状态。
这样存在的一个弊端是,如果调用构造函数出现异常,不能通过返回值来判断处理。
pengzhixi
2009-12-07
打赏
举报
回复
就当是一个王八的屁股--龟腚
冻结
2009-12-07
打赏
举报
回复
好像从另一个面向对象语言抄来的。
无返回。
加载更多回复(4)
C++
中
的
类
——
构造函数
一、什么是
构造函数
每个
类
都分别定义了它的对象被初始化的方式,
类
通过一个或几个特殊的成员函数来控制其对象的初始化过程,这些函数叫
构造函数
。
构造函数
的任务是初始化
类
对象的数据成员,无论何时只要
类
的对象被创建,就会执行
构造函数
。 二、
构造函数
的定义 class
类
名 { 访问说明符:
类
名(形参列表):初始值列表{函数体定义} }; ——————————————————...
C++
拷贝
构造函数
和赋值
构造函数
在
C++
中
复制控制是一个比较重要的话题,主要包括复制
构造函数
、重载赋值操作符、析构函数这三部分,这三个函数是一致的,如果
类
需要析构函数,则它也需要复制操作符 和 复制
构造函数
,这个规则被称为
C++
的“三法则”。如果需要手动定义了其
中
了一个,那么另外的两个也需要定义,通常在存在指针或者前期相关操作的情况下,都需要手动的定义。 复制
构造函数
与重载赋值操作符实现的大题相...
C++
派生
类
构造函数
详解与应用
本文还有配套的精品资源,点击获取 简介:
C++
中
的派生
类
通过继承基
类
属性和方法来构建新
类
,其
中
构造函数
负责初始化派生
类
对象。派生
类
构造函数
需确保基
类
成员也得到正确初始化,并遵循从基
类
到派生
类
的初始化顺序。了解
构造函数
的多重调用顺序和继承特性,以及如何处理多重继承和
构造函数
的使用,是成为高级
C++
开发者的关键。 1. 派生
类
和继承概念 在面向对象编程
中
,继承是...
C++
构造函数
在数组
中
的使用
总之,在
C++
中
使用
构造函数
和析构函数,可以在对象创建和销毁时对其进行一系列操作,例如对成员变量进行初始化和资源释放等,具有极高的可定制性和实用价值。需要注意的是,在使用带有默认参数的
构造函数
时,我们必须确保默认参数的值是合法和正确的。总之,在
C++
中
,拷贝
构造函数
是一种非常重要的
构造函数
类
型,它可以用于创建一个新的对象并复制现有对象的所有成员变量。总之,在
C++
中
,带有默认参数的
构造函数
是一种十分实用的
构造函数
类
型,它可以用于在创建对象时对其进行一些初始化,极大地提高了程序的灵活性和可读性。
C++
拷贝
构造函数
和赋值运算符函数及其必要性和意义
本文前面主要介绍了拷贝
构造函数
和赋值运算符函数的区别,以及在什么时候调用拷贝
构造函数
、什么情况下调用赋值运算符函数。最后,分析了下深拷贝和浅拷贝的问题,即拷贝
构造函数
和赋值运算符函数的必要性和意义。本文综合了《
C++
拷贝
构造函数
和赋值运算符》和《拷贝
构造函数
和赋值函数的必要性和意义》的内容,并加上自己的理解。
C++
拷贝
构造函数
和赋值运算符函数 本文主要介绍了拷贝
构造函数
和赋值运算符函
C++ 语言
65,180
社区成员
250,528
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章