C++的构造函数浅析
1、 C++的构造函数分为 系统默认构造函数 和 自定义构造函数 ,并且构造函数的访问权限必须是public,且为无参的函数,同时没有返回值的概念,也就是不需要返回值。
2、 C++中的构造函数只用于类对象的声明,在定义对象的时候要确定调用了什么样的构造函数可分为以下情况:
1)、当没有自定义构造函数的时候,ClassName object; 和ClassName object(); 是等效的,都可以调用系统默认构造函数。
2)、当有自定义构造函数时,ClassName object; 只在自定义构造函数中找无参的构造函数,ClassName object(); 仍然只调用系统默认构造函数。和1)对比可以发现ClassName object(); 只会调用系统默认构造函数。
3、 当使用new关键字来初始化类对象指针时,调用构造函数的情况如下:
1)、当没有自定义构造函数的时候,new ClassName object; 和 new ClassName object();是等效的,都是调用的系统默认构造函数。
2)、当定义了构造函数,new ClassName object; 和 new ClassName object();是等效的,都调用的是自定义的构造函数。