11.4 C++构造函数 | 构造函数
【摘要】 C++对象的初始化C++在建立一个对象时,常常需要作某些初始化,如果一个数据成员未被赋值,则它的值是不可预知的,因为在系统为它分配内存时,保留了这些存储单元的原状,这就成为了这些数据成员的初始值,在C++中,对象是一个实体,它反映了客观事物的属性,是应该有确定的值的。C++类的数据成员是不能在声明类时初始化的,如果一个类中所有的成员都是公用的,则可以在定义对象时对数据成员进行初...
C++对象的初始化
C++在建立一个对象时,常常需要作某些初始化,如果一个数据成员未被赋值,则它的值是不可预知的,因为在系统为它分配内存时,保留了这些存储单元的原状,这就成为了这些数据成员的初始值,在C++中,对象是一个实体,它反映了客观事物的属性,是应该有确定的值的。
C++类的数据成员是不能在声明类时初始化的,如果一个类中所有的成员都是公用的,则可以在定义对象时对数据成员进行初始化。
class Time
{
public:
day;
hour;
minute;
};
Time time={25,19,54};
上述对象和结构体变量的初始化是差不多的,在一个花括号内顺序列出各公用数据成员的值,两个值之间用逗号分隔。
如果数据成员是私有的, 或者类中有private或protected的成员,则不能用这种方法初始化。
C++构造函数的作用
C++提供了构造函数来处理对象的初始化,构造函数是一 种特殊的成员函数,与其他成员函数不同,不需要程序员来调用它,而是在建立对象时自动执行。
构造函数的名字必须与类名同名,而不能由程序员任意命 ,以便编译系统能识别它并把它作为构造函数处理,构造函数不具有任何类型,不返回任何值,它的功能是由程序员定义,程序员根据初始化的要求设计函数体和函数参数。
关于构造函数,以下5点需要读者注意:
- 在类对象进入其作用域时调用构造函数。
- 构造函数没有返回值,不需要在定义构造函数时声明类型。
- 构造函数不需要程序员调用,也不能被程序员调用。
- 在构造函数的函数体中不仅可以对数据成员赋初值,而且可以包含其他语句。
- 如果用户自己没有定义构造函数,则C++编译系统会自动生成一个构造函数,只是这个构造函数的函数体是空的,也没有参数,不执行初始化操作。
以上,如果你看了觉得对你有所帮助,就给小林点个赞叭,这样小林也有更新下去的动力,跪谢各位父老乡亲啦~
11.4 C++构造函数 | 构造函数文章来源: zhuanlan.zhihu.com,作者:小林C语言,版权归原作者所有,如需转载,请联系作者。
原文链接:zhuanlan.zhihu.com/p/347092264
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)