您的位置:首页 > 编程语言 > C语言/C++

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

2012-07-15 11:01 288 查看
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];//创建有两个对象的对象数组此时输出结果为:
执行构造函数

执行构造函数

执行析构函数

执行析构函数
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  c++