今年我要找工作了,在准备笔试面试的过程中,发现了很多平时没注意的细节,这一篇先说说类的构造函数吧!说的要有不对的地方,请大家给我提醒一下。
1. 构造函数的作用
class counter
{
public:
counter()
{
m_value =0;
}
private:
int m_value;
};
Eg: counter c1;
机制:该类对象被创建时,编译系统对象分配内存空间,并自动调用该构造函数
作用:构造函数完成数据成员的初始化工作。
2. 构造函数的种类
class Complex
{
private:
double m_real;
double m_imag;
public:
// a.无参构造函数
// 如果创建一个类你没有写任何构造函数,则系统会自动生成默认的无参构造函数,函数为空,什么都不做
// 只要你写了一个下面的某一种构造函数,系统就不会再自动生成这样一个默认的构造函数
// 如果希望有一个这样的无参构造函数,则需要自己显示地写出来
Complex(void)
{
m_real =0.0;
m_imag =0.0;
}
// b.重载构造函数
// 一个类可有多个重载构造函数,前提是参数的个数或者类型不同(基于c++的重载函数原理)
Complex(double real,d