1.局部变量:
对于局部定义的对象,每当程序控制流到达该对象定义处时,调用构造函数。当程序控制走出该局部域时,则调用析构函数。
对于静态局部定义的对象,在程序控制首次达到该对象定义处时,调用构造函数。当整个程序结束时,调用析构函数
实例:局部对象
#include<iostream>
using namespace std;
class Complex
{
double Real;//实部
double Image;//虚部
public:
Complex() :Real{}, Image{} //缺省函数的构造
{
cout << "creat object: " <<this<< endl;
}
Complex(double r, double i) :Real{ r }, Image{i} //带参数的构造函数
{
cout<< "creat object: " <<this<< endl;
}
~Complex()
{
cout << "destroy object: " << this << endl;
}
void print() const //常方法
{
cout << "Real= " << Real << 't' << "Image= " << Image << endl;
}
};
void fun()
{
Complex c1(1.2, 2.3);
static Complex c2(3.1, 4.5);
}
int main()
{
int n = 5;
for (int i = 0