A和B在主程序中有什么不同?
A)
#include<iostream> class Base { typedef int index; public: index i; }; B) #include<iostream> class Base { public: typedef int index; index i; };
答案 0 :(得分:4)
在前者中,只有Base的成员才能使用typedef索引。在后者中,每个人都可以通过说Base :: Index来使用typedef。
答案 1 :(得分:2)
默认情况下,访问类型是私有的类(结构默认为public),这意味着您的typedef不能从子类(派生类)或类外部使用(只能在类本身内部使用)。 B声明它是公开的意思,它可以在任何地方使用。