【发布时间】:2010-09-19 18:23:34
【问题描述】:
我正在尝试编译这样的代码:
#include <iostream>
using namespace std;
class CPosition
{
private:
int itsX,itsY;
public:
void Show();
void Set(int,int);
};
void CPosition::Set(int a, int b)
{
itsX=a;
itsY=b;
}
void CPosition::Show()
{
cout << "x:" << itsX << " y:" << itsY << endl;
}
class CCube
{
friend class CPosition;
private:
CPosition Position;
};
main()
{
CCube cube1;
cube1.Position.Show();
cube1.Position.Set(2,3);
cube1.Position.Show();
}
但是 get 'CCube::Position' 在函数 main() 中不可访问 3 次。 我希望在 CCube 外部声明 CPosition 类,以便将来可以在新类中使用它,例如CBall :) 但是如何在不使用继承的情况下使其工作。有可能吗:)?
问候, PK
【问题讨论】:
标签: c++ class inheritance friend