构造函数:
/*===============================================
* 文件名称:dem.cpp
* 创 建 者:
* 创建日期:2022年09月14日
* 描 述:
================================================*/
#include <iostream>
using namespace std;
class Demo
{
public:
Demo (int val,int val1) //构造函数,一般用于给成员变量赋初值,由系统自动调用
{
value=val;
value1=val1;
cout << __func__<< ":" << __LINE__ << endl;//打印函数名和行号
}
public:
void set_val(int val)
{
value =val;
}
int get_val()
{
return value1;
}
private:
int value;
int value1;
};
int main ()
{
Demo obj(1,2);//定义了一个名为obj的对象,用123给value赋初值,123实际上是对构造函数传参
cout << "value=" << obj.get_val() << endl;
return 0;
}
构造函数运行结果:
说明在函数构建对象的时候使用了构造函数。
析构函数:一般用于资源回收,由系统自动调用
/*===============================================
* 文件名称:dem.cpp
* 创 建 者:
* 创建日期:2022年09月14日
* 描 述:
================================================*/
#include <iostream>
using namespace std;
class Demo
{
public:
Demo (int val,int val1)
{
value=val;
value1=val1;
cout << __func__<< ":" << __LINE__ << endl;
}
~Demo()//析构函数
{
cout << __func__<< ":" << __LINE__ << endl;
}
public:
void set_val(int val)
{
value =val;
}
int get_val()
{
return value1;
}
private:
int value;
int value1;
};
int main ()
{
Demo obj(1,2);
cout << "value=" << obj.get_val() << endl;
return 0;
}
析构函数运行结果:
说明在函数结束的时候使用了析构函数。
先构造的后析构,对象结束时obj1先析构