1. 程式人生 > >C++中的struct也能定義類!!!

C++中的struct也能定義類!!!

struct A
{
    int a;
    int b;
    A()    //建構函式
    {
        a=0;
        b=0;
    }
}

2、struct可以實現封裝、繼承,據說也可以實現多型。

struct A
{
    char a;
};

struct B : A
{
    char b;
};

這個時候B是public繼承A的。

二、struct與class的區別
1、在繼承中,預設訪問許可權不同

class A
{
    char a;
};

class B : A
{
    char b;
};

這是預設B是private繼承A的。這就是預設的繼承訪問許可權。所以我們在平時寫類繼承的時候,通常會這樣寫:

class B :pulic A

2、“class”這個關鍵字能定義模板參 數,就像“typename”。但關鍵字“struct”不用於定義模板引數。這一點在Stanley B.Lippman寫的Inside the C++ Object Model有過說明。