3-3 构造函数的调用(高级)

来源:互联网 发布:iptv机顶盒安装软件 编辑:程序博客网 时间:2024/05/29 08:07

3-3 构造函数的调用(高级)

Time Limit: 1000MS Memory Limit: 65536KB
Submit Statistic

Problem Description

通过本题目的练习可以掌握创建普通对象、创建对象数组和动态创建和析构对象时调用构造函数和析构函数的时机;

要求创建一个类A;类中仅包含构造函数和析构函数,按照程序的输出写出类的定义和主函数main中的代码。

Input

 

Output

 

输出共有11行数据,分别如示例输出所示

Example Input

Example Output

----begin main---constructing an object of Aconstructing an object of ADestructing an object of A*******constructing an object of Aconstructing an object of A----end main---Destructing an object of ADestructing an object of ADestructing an object of A
我的理解:第一个跟第三个是同一个,第二个是全局的,所以跟最后一个一起,第四个第五个就跟第六第七个一起的。为了实现第一个的提前析构,我们可以使其作为一个局部变量用一个块来存放,所以在块结束时就会析构,为了使第二个晚点析构,就可以定义他为全局变量,最后析构

#include <iostream>#include <algorithm>using namespace std;class pos{public:    void a()    {        cout<<"constructing an object of A"<<endl;    }    ~pos ()    {        cout<<"Destructing an object of A"<<endl;    }};pos t2;int main(){    {        pos t1;        cout<<"----begin main---"<<endl;        t1.a();        t2.a();    }    cout<<"*******"<<endl;    {        pos t3,t4;        t3.a();        t4.a();        cout<<"----end main---"<<endl;    }    return 0;}


0 0
原创粉丝点击