第九次上机实践项目-阅读项目-2

/*
 *Copyright (c)2016,烟台大学计算机与控制工程学院
 *All rights reserved.
 *文件名称:main.cpp
 *作    者:刘涛
 *完成日期:2016年4月23号
 *版 本 号:v1.0
 *
 *问题描述:动态分配内存
 */


#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);
    }
    for (i=0; i<3; i++)
        delete p[i];
    cout<<endl;
    return 0;
}


运行结果:

第九次上机实践项目-阅读项目-2_第1张图片

运行过程:

定义了一个MyClass类的指针数组,然后给p指针开辟空间,执行构造函数,i=0的时候,输出一个C,p[i]->SetValue(p[i]->GetVal()*2),p[i]->SetValue(0*2)还是为0;i=1,p[i]->SetValue(1*2)等于2.i=2的时候,等于4;最后再一次执行析构函数,输出D0D2D4.

你可能感兴趣的:(第九次上机实践项目-阅读项目-2)