问答题 写出下列程序的运行结果。
#include <iostream>
using namespace std;
class ClassOne
{
public:
ClassOne ();
ClassOne (int value);
~ClassOne ();
void Print();
private:
int i;
};
class ClassTwo
{
public:
ClassTwo ();
ClassTwo (int value);
~ClassTwo();
void Print();
private:
ClassOne myclass;
int i;
};
ClassOne::ClassOne() :i(0)
{
cout << "Constructor of ClassOne!" << endl;
}
ClassOne:: ClassOne(int value) :i(value)
{
cout << "Constructor of ClassOne! "<< endl;
}
ClassOne:: ~ClassOne()
{
cout << "Destructor of ClassOne! " << endl;
}
void ClassOne::Print() const
{
cout << "The i of ClassOne is "<< i << endl;
}
ClassTwo::ClassTwo() :i(0)
{
cout << "Constructor of ClassTwo!" << endl;
}
ClassTwo:: ClassTwo(int value) :i(value)
{
cout << "Constructor of ClassTwo!" << endl;
}
ClassTwo:: ~ClassTwo()
{
cout << "Destructor of ClassTwo!" << endl;
}
void ClassTwo::Print() const
{
cout << "The i of ClassTwo is" << i << endl;
}
int main()
{
ClassTwo myclass(10);
myclass.Print();
return 0;
}
【正确答案】
【答案解析】Constructor of ClassOne!
Constructor of ClassTwo!
The i of ClassTwo is 10
Destructor of ClassTwo!
Destructor of ClassOne!