C++构造函数—构造函数的声明与定义、带参数的构造函数

2020-01-06 12:17:44刘景俊

   cout <<c.readi() <<' ' <<c.readc() <<endl;
   return 0;
}

运行结果:
Node constructor is running...
Node constructor is running...
Node constructor is running...
0 0
8 0
8 F

我们看到,在参数和重载的帮助下,我们可以设计出适合各种场合的构造函数。初始化各个对象的成员数据对我们来说已经是小菜一碟了。但是,这时你是否会回想起当初没有编写构造函数时的情形?如果没有编写构造函数,对象的创建是一个怎样的过程呢?

在C++中,每个类都有且必须有构造函数。如果用户没有自行编写构造函数,则C++自动提供一个无参数的构造函数,称为默认构造函数。这个默认构造函数不做任何初始化工作。一旦用户编写了构造函数,则这个无参数的默认构造函数就消失了。如果用户还希望能有一个无参数的构造函数,必须自行编写。