c++中的构造函数和析构函数

来源:互联网 发布:传奇霸业辅助软件 编辑:程序博客网 时间:2024/04/28 09:31

                                                                               构造函数和析构函数的理解

1.构造函数的定义为:类+(形参){函数体}

作用:在定义对象时给私有的数据成员定义一个初始值,因为类是一个抽象的数据类型,和平时的int,float类型

一样要进行初始化之后才可以使用;

其中如果没有在你定义的类中定义一个构造函数,则系统会自动调用什么都不操作的默认构造函数;

2.如果你定义了构造函数,则系统不会调用默认的构造函数给你,比如

#include<iostream>
using namespace std;
class Man{
int a,b;
public:
Man(int x,int y=1);
void printab(){cout<<a<<" "<<b<<endl;}
};
Man::Man(int x,int y)
{
a=x;
b=y;
}


int main()
{
Man man(1,3);//这样是对的

        Man man;    //错的
man.printab();
return 0;
}

定义了这个,但是是你在初始化man这个对象时,你改成这样子定义Man man;则系统会报错,提示你没有构造函数(参数值不对),

因为系统只会调用你当前的这些构造成员函数了。

3.如果构造函数是定义在类的外面的,则构造函数定义的默认参数只能可以在类的内外中申明,但是最好放在

类内声明,因为一般对象调用成员函数时掉用的方便;不可以在申明构造函数时用,在类外定义时也用,这样会报错;

析构函数:

1.改函数主要是在销毁对象前用的,但不是用这个函数销毁对象,而是进行对对象的一些操作,比如说

动态分配了内存(new 类),则要用delete释放掉内存;析构函数如果你不要用它干什么,可以不定义的。

0 0
原创粉丝点击