练习7.31:定义一对类X和Y,其中X包含一个指向Y的指针,而Y包含一个类型为X的对象。
答:
class X{
public:
X() = default;
void print(ostream &out){ out << "I am X !" << endl;}
private:
Y *p;
};
class Y{
public:
Y() = default;
void print(ostream &out){ out << "I am Y ! " << endl;}
private:
X a;
};
见云盘程序 练习7.31.cpp
/*
*练习7.31
*2015/7/9
*问题描述:7.3.3节练习:定义一对类X和Y,其中X包含一个指向Y的指针,而Y包含一个类型为X的对象。
*功能:类类型的学习
*作者:Nick Feng
*邮箱:nickgreen23@163.com
*
*/
#include <iostream>
#include <string>
using namespace std;
class X;
class Y;
class X{
public:
X() = default;
void print(ostream &out){ out << "I am X !" << endl;}
private:
Y *p;
};
class Y{
public:
Y() = default;
void print(ostream &out){ out << "I am Y ! " << endl;}
private:
X a;
};
int main()
{
X a;
a.print(cout);
Y b;
b.print(cout);
return 0;
}