[C#&&C++]類CLASS

來源:互聯網
上載者:User
    很早就有學習C++的衝動,但是由於一直以來堅持C#而沒有真正進入過C++世界很多的文章包括微軟的也只有C++轉向C#的文章,而很少有人寫過由C#進入C++的文章。由於我對遊戲開發很有興趣,在我看到的現狀來看C++是遊戲界的首選,我是說大型遊戲而不是手機之類的。同時朋友會叫你寫一個小程式,比如一個計算機,你總不能叫他裝一下.NET架構再運行吧,所以多我來說學習C++還是很有必要的,不知道大哥大姐們是怎麼個想法。在此我想記錄一下C#中和C++的區別和聯絡等等,OK今天首先看看C#中和C++中的類及其繼承等等。

【C++】在這裡我們主要講講C++,而且會偏重VC++。首先讓我們看看C++的檔案組成,我們都知道C++中有標頭檔(.h),和實現的檔案(.cpp),在標頭檔中聲明一下變數,方法等等,而方法的實現就在cpp檔案中實現。在實現檔案中要包含當前標頭檔何必要的標頭檔(和C#中using引入的命名空間有點像),並且實現當前標頭檔中聲明的方法等等。在C++中定義一個類格式如下(一般儲存在標頭檔中):

 1     class  <類名>
 2     {
 3         private:
 4             <私人資料成員和私人成員函數的聲明列表>;
 5         public:
 6             <公有資料成員和公有成員函數的聲明列表>;
 7         protected:
 8             <保護資料成員和保護成員函數的聲明列表>;
 9     };
10 

【C#】在C#中定義一個類就很簡單了,在.NET中為了更能區分各個類的層次等等引入了命名空間,每一個類都屬於特定的命名空間。定義一個類如下:using 引入所要用到的命名空間

namespace 命名空間
{
  public/private/protected/internal [statics]  <類名>
  {
    成員:...
  }
}

【C++】C++也是物件導向的程式設計語言,當然也可以繼承等等,它允許多重繼承,一個類可以有幾個基類。而繼承的基類中的成員可見度是在繼承中指定的,在MFC中所有類都直接或間接的繼承自CObject類,這和C#中的所有類都繼承自Object是一樣的。格式如下:

class   <衍生類別名> 
:  [<派生方式>]  <基類名>

{

        
.  .  .       // 衍生類別新增加的成員聲明列表

};

    <派生方式>:

    public[常用]:除了私人成員外不可訪問外,保留所有基類成員的存取層級。也就是說在當前類中可以訪問基類中的public和protected的成員,在當前類的子類中也可以訪問祖父類的成員(這和C#中的繼承一樣);

    protected:基類所有的公有和保護成員在衍生類別中都成為保護成員(在當前類或子類中,基類的所有成員全為protected),只允許在衍生類別的成員函數和該衍生類別的衍生類別的成員函數中訪問基類的非私人成員。

    private[很少用]:基類所有的公有和保護成員在衍生類別中都成為私人成員,只允許在衍生類別的成員函數中訪問基類的非私人成員。

【C#】在C#中繼承就和C++中的public繼承一樣,但是C#只能夠繼承一個基類,但是可以繼承多個介面。而決定繼承或不讓繼承的類還可以通過建構函式或sealed來限定類型,使得當前類不能夠被繼承。
   

    友情提示(好的命名方式可以協助代碼的可讀性):

        C++中類的命名以C開頭(而C#沒有此規定);

        g_:全域範圍;

        m_:成員變數;

        l_:局部範圍。

    在不斷的學習中可以知道他們的區別,現在很多人都在用.NET的,也有很多人有意轉向C++,本人也是剛開始學習C++把我所想到的所看到的記錄下來,希望可以給大家同仁一點協助,也能夠鞏固一下自己的學習!!!

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.