目录
前言
1.构造函数的作用
2.构造函数的定义
1.内联函数
2.类体外构造函数
前言
记录下C++中的构造函数。
1.构造函数的作用
构造函数的作用主要是对对象的成员变量进行初始化赋值操作。
当我们没有定义构造函数的时候,系统会默认添加一个没有参数的构造函数。对象生成的时候,系统自动调用构造函数。
2.构造函数的定义
构造函数的声明格式如下:
类名(参数1,参数2......)
1.内联函数
在声明类的构造函数的时候同时给出构造体,这样的构造函数成为内联函数。
例如:我们定义一个ClassA类,同时定义一个内联函数。给ClassA的类付个初始值。
class ClassA {int value;ClassA(int x){value = 10;};
};
当然我们可以不写构造函数,这样的话系统会默认生成一个无参数的构造函数,构造函数的名称和类名相同。还以Class类为例,系统会自动生成一个ClassA的构造函数。 一般情况下,我们会手动定义一个ClassA类,给成员变量赋初始值。
2.类体外构造函数
我们也可以再定义类的时候,在声明一个构造函数,然后在类外定义构造函数。类外定义构造函数有三种方式:
1.第一种方式格式如下:
类名:类名(形参1,形参2,....形参n):成员变量1,成员变量2...{}
例如我们有一个类ClassA,有三个成员变量a,b,c,我们定义个带参数的构造函数,示例代码如下:
class ClassA {int a;int b;int c;ClassA(int,int,int);
};
ClassA::ClassA(int x,int y,int z):a(x),b(y),c(z){a = x;b = y;c = z;
}
2.第二种方式格式如下:
类名:类名(形参1,形参2,....形参n){}
上述的代码用这种方式定义代码如下:
class ClassA {int a;int b;int c;ClassA(int,int,int);
};
ClassA::ClassA(int x,int y,int z){a = x;b = y;c = z;
}
3.第三种方式格式如下:
类名:类名(){}
示例代码如下:
class ClassA {int a;int b;int c;ClassA();
};
ClassA::ClassA(){}
我们一般用这种构造函数给类的成员变量赋初始值。