C++类的构造函数

C++类的构造函数

构造函数和析构函数是类体定义中比较特殊的两个成员函数

析构函数的学习:——————》C++类的析构函数

本文主要介绍构造函数使用方法。

在类的实例进入作用域时,也就是创建一个类的对象时,构造函数就会被调用。
当建立对象时,往往需要做某些初始化的工作,这些工作就在构造函数中完成。

所以构造函数的作用就是进行初始化操作。

构造函数的方法有两种:

1.默认构造函数

构造方法如下:

class CPerson{
	public:
		CPerson(){
			index=0;
			age=10;
			salary=1000;
		}
		int index;
		int age;
		double salary;
};

CPerson()是默认构造函数,不显式写上函数的声明是允许的。

2.带参数的构造函数

构造函数也是可以有参数的,修改上面的代码,构造方法如下:

class CPerson{
	public:
		CPerson(int x,int y,double z){
			index=x;
			age=y;
			salary=z;
		}
		int index;
		int age;
		double salary;
};

另外
若使用构造函数初始化对象时,可以让新的对象复制已有对象的值。

CPerson p1;
CPerson p2(1,20,2000);
CPerson p3(p2);

这样,新的对象p3就复制了p2的参数。

三合一源代码:

#include<iostream>
using namespace std;
//定义CPerson类
class CPerson{
	public:
		CPerson(){
		//在默认构造函数中初始化
			index=0;
			age=10;
			salary=1000;
		}
		CPerson(int x,int y,double z){
		//在带参数构造函数中初始化
			index=x;
			age=y;
			salary=z;
		}
		int index;
		int age;
		double salary;
		int getindex(){
			return index;
		}
		int getage(){
			return age;
		}
		double getsalary(){
			return salary;
		}
};
int main(){
	
	CPerson p1;
	cout<<p1.getindex()<<" "<<p1.getage()<<" "<<p1.getsalary()<<endl;
	CPerson p2(1,20,2000);
	cout<<p2.getindex()<<" "<<p2.getage()<<" "<<p2.getsalary()<<endl;
    CPerson p3(p2);
	cout<<p2.getindex()<<" "<<p2.getage()<<" "<<p2.getsalary()<<endl;
	
	return 0;
} 

结果图:
CPerson
对于p1和p2的比较,p1使用默认构造函数初始化成员变量,p2使用带参数的构造函数初始化,所以在调用同一个类成员函数getindex、getage、getsalary时输出的结果不同。
p3复制了p2,所以结果相同。

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值