2013-12-16 63 views
-1

A和B在主程序中有什么不同?typedef in class C++

A)

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


B) 

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

你认为会有什么不同? – Cameron

回答

4

在前者中,只有基本的成员可以使用typedef的指数。在后者中,每个人都可以通过说Base :: Index来使用typedef。

2

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