第六周阅读程序2:构造函数与析构函数
2015-04-15 08:28
260 查看
问题及代码:
执行结果:
知识点总结:
详细分析构造函数与析构函数之间的运行机制
#include <iostream> using namespace std; class MyClass { public: MyClass(int x=0):i(x) { cout<<"C"<<i; } ~MyClass() { cout<<"D"<<i; } void SetValue(int val) { i=val; } int GetVal() { return i; } private: int i; }; int main() { MyClass *p[3]; //创建对象指针,不需要执行构造函数 int i; for (i=0; i<3; i++) { p[i]=new MyClass(i); p[i]->SetValue(p[i]->GetVal()*2); } /*循环三词,创建三个对象 p[0] 构造函数输出 C0; GetVal(int) 令i*2=0 SetValue(int) i=0; p[1] 构造函数输出 C1; GetVal(int) 令i*2=2 SetValue(int) i=2; p[2] 构造函数输出 C2; GetVal(int) 令i*2=4 SetValue(int) i=4; */ for (i=0; i<3; i++) delete p[i]; /* 循环三次,执行三次析构函数 分别输出 D0D2D4 */ cout<<endl; //所以最后输出的结果是 C0C1C2D0D2D4 return 0;
执行结果:
知识点总结:
详细分析构造函数与析构函数之间的运行机制
相关文章推荐
- 第六周阅读程序1:构造函数与析构函数
- 《C++语言基础》程序阅读——构造函数和析构函数
- 第4周课后实践·阅读程序-构造函数和析构函数(2)
- 第二学期第四周 阅读程序理解构造函数和析构函数
- 第四周 程序阅读——构造函数和析构函数(二) .
- 第四周 程序阅读——构造函数和析构函数(三)
- 第四周 程序阅读——构造函数和析构函数(四)
- 第4周课后实践·阅读程序-构造函数和析构函数(3)
- 第十一周阅读程序5:基类与派生类的构造函数与析构函数
- 第十一周 阅读程序4 类的继承构造函数与析构函数调用的先后顺序
- 第4周课后实践·阅读程序-构造函数和析构函数(4)
- 第十一周阅读程序6:基类、派生类中构造函数、析构函数
- 第四周 阅读程序(构造函数和析构函数)
- 第4周项目--构造函数、析构函数程序阅读1
- 第六周项目零:阅读程序(4):结构函数和析构函数
- 第六周阅读程序3:复制构造函数
- 第六周项目零:阅读程序(5):结构函数和析构函数,对象的赋值
- 第四周 程序阅读——构造函数和析构函数(一)
- 第四周项目零:程序阅读——构造函数和析构函数(1)
- 第4周课后实践·阅读程序-构造函数与析构函数(1)