C++之构造函数与析构函数

本文详细介绍了构造函数和析构函数的概念及其在C++中的应用。构造函数用于对象创建时初始化成员变量,而析构函数则在对象销毁时执行清理工作。文章通过实例演示了如何定义和使用这两种特殊成员函数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

构造函数:是类的一种特殊成员函数,它在每次创建类的新对象时执行

使用构造函数有以下几点需要注意

1.函数名与类名同名

2.不能定义返回值类型,也不能有return 语句

3.构造函数可以有参数,也可以没有

4.当没有显示声明构造函数的时候,编译器会隐式生成一个默认构造函数

实例:

#include<iostream>

using namespace std;

class  AREA
{
	public:
		AREA();   //这是构造函数
		void setwidth (double wid);
		double getwidth(void);
	private:
		double width;
		
};

//构造函数的定义

AREA::AREA(void)
{
	cout << "object is being created" << endl;
	
}
void AREA::setwidth(double wid)
{
	width=wid;
}
double AREA::getwidth(void)
{
    return width;
}
int main()
{
	AREA AREA;
	AREA.setwidth(6.0);
	
	cout << "width =" << AREA.getwidth()<< endl;
	
	return 0;
}

构造函数初始化列表:构造函数初始化列表,以冒号开始,逗号分隔数据列表

class B
{
public:
    B(int x);
    ~B(){}
private:
    int a;
    int b;
    int c;
};

B::B(int x):a(x),b(x),c(x)    //构造函数成员初始值顺序与成员的声明顺序最好保持一致
{

}

 

析构函数:是类的另一种特殊的成员函数,它在每次删除所创建对象时执行

使用析构函数时应注意以下几点:

1.函数名称与类名称完全相同,只在前面加了个~

2.不会返回任何值,也不能带有任何参数

3.析构函数有助于在跳出程序前释放资源

实例:

#include<iostream>
using namespace std;

class A
{
	public:
		A();   //构造函数声明 
		~A();    //析构函数声明 
};

//构造函数的定义
A::A(void)
{
	cout << "object is being created " << endl;
	
 } 

//析构函数的定义
 A::~A(void)
 {
 	cout << "object is being deleted " << endl;
 }
 int main()
 {
 	A A; 
 	return 0;
 }

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值