c++ 使用类的类变量的变量?
c++ Using a class' class variable's variable?
我有一个类Circle
,其变量center
为类型Location
,radius
为类型int
。Location
是一个具有变量xPosition
和yPosition
的类,这两个变量都属于int
类型。
我有一个Circle
的实例,名为c
,它已经为其数据成员分配了值。
现在,如果我想做:
cout << "x: " << c.center.xPosition << " y:" << c.center.yPosition << endl;
我该怎么做?
如果Location
中的xPosition
和yPosition
变量是公共的,那么编写它的方式应该是有效的。但如果它们是私人的,你就不能直接从课堂之外访问它们;您需要在Location
类中提供访问器函数(例如getXPosition()
),然后编写类似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;
相关文章:
- 继承时如何构建派生类的变量?
- C++子类共享变量?
- 静态 constexpr 类成员变量对多线程读取是否安全?
- 打印所有继承的类成员变量和方法
- 为什么我不能在返回 const 的布尔函数中为类成员变量赋值?C++
- Visual C++: MSVC vs. GCC+CLANG: 处理 lambda 捕获类成员变量,正确的方法是什么?
- C++ 类型类的变量声明不命名类型?
- 多个线程可以读取同一个类成员变量吗?
- (C++) 从另一个类访问变量时值无效
- 在这种情况下,当尝试从单独的类更新变量时,我是否需要使用指针?
- 在类成员函数中声明类成员变量
- 如何初始化对类内变量的静态引用,以便在嵌套类中使用
- 类静态变量初始化顺序
- 如何从 Lua 访问运行 Lua 脚本的类的变量
- 确定类静态变量的总大小?
- 从其他类声明类类型变量会给出 C2143 错误(在"*"之前缺少";")
- Qml 未收到基类成员变量的更新值
- C++不正确,不需要重新声明类成员变量 MFC 手工解决方案/项目 MS VS 2015
- 将元组分配给类成员变量
- 嵌套的类成员变量不可访问.链表设置.V、下一个和新的问题