目录
什么是构造函数?
建立一个对象时, 通常最需要立即做的工作是初始化对象, 如对数据成员赋初值。
构造函数就是用来用来在创建对象时初始化对象, 为对象数据成员赋初始值。
/**
*
* 类的数据成员是不能在类中初始化
*
* */
class classone{
int x=0,y=0;
//error
}
class classtwo{
public:
int x,y;//数据成员声明
}
定义构造函数
C++规定构造函数的名字与类的名字相同, 并且不能指定返回类型。定义形式为:
类名(形式参数列表)
{
函数体
}
类名(){
函数体
}
类名(void){
函数体
}
只要创建类 类型的新对象, 都要执行构造函数。 因此, 构造函数的主要用途是初始化类的数据成员。
有参数的构造函数, 定义对象的一般形式为:
类名 对象名1(实参列表)
无参构造函数
类名 对象名1
#include<iostream>
#include<stdio.h>
using namespace std;
class const1
{
private:
/* data */
int x,y;
public:
const1(int a,int b);//构造函数
int volumn()
{
return x*y;
}
};
//外部定义构造函数
const1::const1(int a,int b):x(a),y(b)
{
printf("volumn=%d\n",volumn());
}
int main()
{
const1 obj(2,3);//定义const1类的对象obj,有参数实例对象
cout<<"volumn="<<obj.volumn()<<endl;
return 0;
}
构造函数初始化列表
类名(形式参数列表): 构造函数初始化列表
{
函数体
}
//带构造函数初始化列表的构造函数
const1::const1(int a,int b):x(a),y(b)
{
printf("volumn=%d\n",volumn());
}