【菜鸟C++学习笔记】12.构造函数与析构函数

1、构造函数

定义:用于创建一个类所有对象的函数,函数名应与类同名,另外声明定义可以合在一起构成隐式内联函数。使用方法参考下面程序:

#include<iostream>
using namespace std;
class rectangle
{
public:
	rectangle(int l,int w)//rectangle类的构造函数
	{length=l;width=w;}
	int area()
	{return length*width;}
private:
	int length,width;
};
void main()
{
	rectangle a(3,4);//创建对象a的同时进行初始化
	cout<<a.area()<<endl;
}
输出结果:12

分析:在创建一个对象时,系统会自动调用该类的构造函数,对对象进行初始化,另外注意构造函数是没有返回值的。

讨论:如果无法确定矩形的长和宽,即不定义构造函数的话,系统会自动创建一个无参数也无任何功能的构造函数,仅用于创建一个对象,称为默认构造函数,如:

rectangle(){}

2、析构函数

析构函数用于在对象销毁后清除其所占用的内存空间,其格式与默认构造函数是一样的,即无参数无返回值,唯一的区别就是需要在函数前加一个符号“~”,具体如下:

#include<iostream>
using namespace std;
class A
{
public:
	A(){cout<<"执行构造函数"<<endl;}
	~A(){cout<<"执行析构函数"<<endl;}
};
int main()
{
	A a;
	return 0;
}
输出结果:执行构造函数

                    执行析构函数

注意:定义时加入函数的输出是为了说明创建对象时调用了构造函数,程序结束时对象a的寿命终止,将调用析构函数。另外,创建几个对象,就调用几次构造函数和析构函数。一般创建多个对象时,可以采用数组的形式,即将11行代码修改为:

A a[2];//创建有两个对象的对象数组
此时输出结果为:

执行构造函数

执行构造函数

执行析构函数

执行析构函数


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值