1.1 c++的“default constructor”
今天总算搞清楚了c++的default constructor的概念,它是指没有参数的构造函数(不管是编译器隐式生成的,还是程序员显式声明的)。
1、如果程序员没有提供任何构造函数,那么编译器就会隐式声明一个default constructor(这个所有人都知道)
如下:
class dog
{
public:
int x;
int y;
};
这个dog类,程序员没有提供构造函数,编译器会隐式生成一个default constructor,这是一个trivial constructor
2、如果程序员提供了一个无参的构造函数,那么这个函数也叫default constructor
如下:
class pig
{
public:
pig(){};
private:
int color;
int age;
};