问答题 写出下列程序的运行结果。
#include <iostream>
using namespace std;
class MyClass
{
public:
MyClass();
~MyClass();
void SetValue(int val);
private:
int i;
};
MyClass::MyClass() :i(0)
{
cout << "This is a constructor! i=" << i << endl;
}
MyClass:: ~MyClass()
{
cout << "This is a destructor! i=" << i << endl;
}
void MyClass::SetValue(int val)
{
i=val;
cout << "i =" << i << endl;
}
int main()
{
int k;
MyClass my[3], *p;
p=my;
for (k=0; k<3; k++)
{
p->SetValue(k+1);
p++;
}
return 0;
}
【正确答案】
【答案解析】This is a constructor! i=0
This is a constructor! i=0
This is a constructor! i=0
i=1
i=2
i=3
This is a destructor! i=3
This is a destructor! i=2
This is a destructor! i=1