有两个类foo和bar,bar为foo服务
我希望设计成
foo 与 foo::bar , 而不是 foo 与 bar
类似
std::vector<int>::iterator 和 std::vector
应该怎样把bar的class放在foo里面?
有两个类foo和bar,bar为foo服务
我希望设计成
foo 与 foo::bar , 而不是 foo 与 bar
类似
std::vector<int>::iterator 和 std::vector
应该怎样把bar的class放在foo里面?
C++ 支持嵌套类(nested class),例如
class foo {
class bar { /* ... */ };
/* ... */
};
或
class foo {
class bar;
/* ... */
};
class foo::bar {
/* ... */
};
具体使用方法请参考 C++ Primer 5ed. section 19.5 Nested Classes。
另外std::vector<int>::iterator
是另外一个类在std::vector
中的别名(typedef
),并不是std::vector
的嵌套类。
3 回答2.1k 阅读✓ 已解决
2 回答3.9k 阅读✓ 已解决
3 回答3.5k 阅读
3 回答536 阅读✓ 已解决
1 回答3.3k 阅读
1 回答1.1k 阅读✓ 已解决
1 回答2.2k 阅读
可以使用类嵌套或者typedef,你说的这种 vector::iterator 是用的typedef定义的类型别名