C++构造函数 | 构造函数

C++对象的初始化

C++在建立一个对象时,常常需要作某些初始化,如果一个数据成员未被赋值,则它的值是不可预知的,因为在系统为它分配内存时,保留了这些存储单元的原状,这就成为了这些数据成员的初始值,在C++中,对象是一个实体,它反映了客观事物的属性,是应该有确定的值的。

C++类的数据成员是不能在声明类时初始化的,如果一个类中所有的成员都是公用的,则可以在定义对象时对数据成员进行初始化。

class Time
{
    
    
  public:
  day;
  hour;
  minute;
};
Time time={
    
    25,19,54};

上述对象和结构体变量的初始化是差不多的,在一个花括号内顺序列出各公用数据成员的值,两个值之间用逗号分隔。

如果数据成员是私有的, 或者类中有private或protected的成员,则不能用这种方法初始化。

C++构造函数的作用

C++提供了构造函数来处理对象的初始化,构造函数是一 种特殊的成员函数,与其他成员函数不同,不需要程序员来调用它,而是在建立对象时自动执行。

构造函数的名字必须与类名同名,而不能由程序员任意命 ,以便编译系统能识别它并把它作为构造函数处理,构造函数不具有任何类型,不返回任何值,它的功能是由程序员定义,程序员根据初始化的要求设计函数体和函数参数。

关于构造函数,以下5点需要读者注意:

  1. 在类对象进入其作用域时调用构造函数。
  2. 构造函数没有返回值,不需要在定义构造函数时声明类型。
  3. 构造函数不需要程序员调用,也不能被程序员调用。
  4. 在构造函数的函数体中不仅可以对数据成员赋初值,而且可以包含其他语句。
  5. 如果用户自己没有定义构造函数,则C++编译系统会自动生成一个构造函数,只是这个构造函数的函数体是空的,也没有参数,不执行初始化操作。

以上,如果你看了觉得对你有所帮助,就给小林点个赞叭,这样小林也有更新下去的动力,跪谢各位父老乡亲啦~
C++构造函数
更多案例可以go公众号:C语言入门到精通

猜你喜欢

转载自blog.csdn.net/weixin_48669767/article/details/113244249