Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我有一个具有 uint8 类型成员的类,当我尝试将其输出到 ostream 时,它显示为 char 表示形式。我更喜欢它的 int 表示,所以我每次都需要 static_cast(myStruct.member) 这有点麻烦并且可能容易出错。有任何想法吗?
在您的班级上实施operator<<并在那里定义演员表。在我看来,您违反了封装。
operator<<
class X { uint8 a; int get_int () const { return static_cast<int>(a); } };
我们使用封装方法将铸件封装在里面。用法:
cout << obj.get_int();