3-3 构造函数的调用(高级)
Time Limit: 1000MS
Memory Limit: 65536KB
Problem Description
通过本题目的练习可以掌握创建普通对象、创建对象数组和动态创建和析构对象时调用构造函数和析构函数的时机;
要求创建一个类A;类中仅包含构造函数和析构函数,按照程序的输出写出类的定义和主函数main中的代码。
Input
无
Output
输出共有11行数据,分别如示例输出所示
Example Input
无
Example Output
----begin main--- constructing an object of A constructing an object of A Destructing an object of A ******* constructing an object of A constructing an object of A ----end main--- Destructing an object of A Destructing an object of A Destructing an object of A
Hint
#include<bits/stdc++.h>
using namespace std;
class A
{
public:
A()
{
cout<<"constructing an object of A"<<endl;
}
~A()
{
cout<<"Destructing an object of A"<<endl;
}
private:
};
int main()
{
cout<<"----begin main---"<<endl;
A a;
A *b = new A;//堆 定义一个指向A类的指针, 用new和delete的方式建立后释放
delete b;//先析构后释放
cout<<"*******"<<endl;
A c, d;
cout<<"----end main---"<<endl;
return 0;
}
#include<string.h>
#include<iostream>
#include<stdio.h>
using namespace std;
class point
{
private:int a;
public:
point()
{
cout<<"constructing an object of A"<<endl;
}
~point()
{
cout<<"Destructing an object of A"<<endl;
}
};
int main()
{
cout<<"----begin main---"<<endl;
point p1;
{
point p2;
}
cout<<"*******"<<endl;
point p3;
point p4;
cout<<"----end main---"<<endl;
return 0;
}