2013-10-19 43 views
2

是什麼類的默認可見性模式的繼承 (這裏的B d @類)C++繼承知名度模式

class B { 
public: 
    int key; 
    B(void) { key = 0; printf("B constructed\n");} 
    virtual void Tell(void); 
    ~B(void) {cout <<"B destroyed"<<endl << endl;} 
}; 


class D2 : B { 
public: 
    void Tell(void) { printf("D2 Here\n"); } 
}; 
+0

相關:http://stackoverflow.com/q/3574040/335858 – dasblinkenlight

回答

7

默認期間,當您使用classprivate,默認爲當您使用structpublic

所以這個:

class D2 : B { 

相當於

class D2 : private B { 
private: 

這:

struct D2 : B { 

將相當於

struct D2 : public B { 
public: 
+0

私人:在類的身體和公共:在結構體是不必要的,因爲它是一個默認 – 4pie0

+0

@piotruś你讀過這個問題,你知道我是試圖展示什麼是默認?當然,我必須重複說明多餘的東西! –

+0

OP詢問什麼是默認的繼承模式,所以如果A類:B類相當於A類:public B或者A類:private B或其他類。類定義中的默認限定符是另一個問題,但是我同意這也是可取的 – 4pie0