c ++使用类'类变量的变量?

时间:2014-08-29 03:47:12

标签: c++

我的班级Circle包含center类型的变量Locationradius类型的intLocation是一个包含变量xPositionyPosition的类,两者都是int类型。

我有一个名为Circle的{​​{1}}实例,该实例已经为其数据成员指定了值。

现在,如果我想这样做:

c

我该怎么做呢?

1 个答案:

答案 0 :(得分:3)

如果xPosition中的yPositionLocation变量是公开的,那么您编写它的方式应该有效。但如果他们是私人的,你就无法直接从课外访问它们;您需要在getXPosition()课程中提供访问者功能(例如Location),然后您会编写类似c.center.getXPosition()的内容。

但是,编写一个operator<<函数可以让Location类将本身写入输出流,这样会更好:

class Location {
public:
  friend ostream &operator<<(ostream &stream, Location const &location);

  // ...
};

ostream &operator<<(ostream &stream, Location const &location) {
  stream << "x: " << location.xPosition
         << "y: " << location.yPosition;

  return *this;
}

然后你可以写下整个Location对象:

cout << c.center << endl;