构造函数术语:
1. 默认构造 : 指的是没有形参的构造函数, 由编译器默认提供, 在某些场合编译器需要自动调用一个类对象的构造函数时, 只能调用默认构造.例如: 子类继承了父类,当子类对象被构造的时候, 父类 的构造也会被自动调用,此时就只能自动调用父类的默认构造
2.默认构造函数:没有形参,方法体也是空的,目的是构造一个对象
MyClass.h文件
class MyClass{
public :
MyClass();
};
MyClass.cpp文件
#include "MyClass.h"
MyClass::MyClass(){
}
2. 转换构造 : 指的是那些只有一个形参,且参数类型是非本类类型的构造函数们. 一般能够显式调用 (例如 `MyClass obj(5)`), 也能隐式调用: `fun(5);` fun的形参是`MyClass`类型
MyClass.h文件
class MyClass{
public :
MyClass(int i);
MyClass(double i);
private :
double m_Num;
};
MyClass.cpp文件
#include "MyClass.h"
MyClass::MyClass(int i){
//构造函数中可以什么都不实现
}
MyClass::MyClass(double n){
//构造函数中也可以实现对成员变量的赋值
this->m_Num = n;
}
main.cpp文件