第六周——程序阅读(二)

来源:互联网 发布:炒股入门 知乎 编辑:程序博客网 时间:2024/05/21 08:55

问题及代码:

/**Copyright (c) 2014,烟台大学计算机学院*All rights reserved.*文件名称:lily.cpp*作者:李莉*完成日期:2014年4月8日版本号: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;}


运行结果:

自我理解:

在定义的对象中,是定义的数组对象,而且对象的输入是按照循环的,于是会依次调用构造函数,而且会输出相应的C0C1C2等,同时有一点是,其余的成员函数无输出,但是有一点是,每次执行过其他的成员函数后,i的值会变成原来的两倍,于是输出的结果只有之前的,然后跳出循环后,又按照循环依次析构,此时i的值已经是之前的两倍了,因此数出的是D0D2D4

0 0
原创粉丝点击