类C ++中的typedef

时间:2013-12-16 17:43:37

标签: c++

A和B在主程序中有什么不同?

  

A)

#include<iostream>
class Base
{
    typedef int index;
public:
    index i;
};


B)

#include<iostream>
class Base
{
    public:
    typedef int index;
    index i;
};

2 个答案:

答案 0 :(得分:4)

在前者中,只有Base的成员才能使用typedef索引。在后者中,每个人都可以通过说Base :: Index来使用typedef。

答案 1 :(得分:2)

默认情况下,访问类型是私有的类(结构默认为public),这意味着您的typedef不能从子类(派生类)或类外部使用(只能在类本身内部使用)。 B声明它是公开的意思,它可以在任何地方使用。