C++中的結構體與類的區別

來源:互聯網
上載者:User

類與結構體在C++中只有兩點區別,除此之外無任何區別。(1)class中預設的成員存取權限是private的,而struct中則是public的。(2)從class繼承預設是private繼承,而從struct繼承預設是public繼承。成員運算子(·)和指向結構體成員運算子(->)的區別

成員運算子(·)和指向結構體成員運算子(->)的區別

兩者都是用來引用結構體變數的成員,但它們的應用環境是完全不一樣,前者是用在一般結構體變數中,而後者是與指向結構體變數的指標連用,例如:有定義

 struct student

   {

   long num;

   float score;

   };

  struct student stud, *ptr=&stud;

 則stud.num、stud.score、ptr->num等都是正確的引用方式,但ptr.num、stud->num就是不允許的,其實ptr->num相當於(*ptr).num,只是為了更為直觀而專門提供了這->運算子。

最後指出,這兩者都具有最高優先順序,按自左向右的方向結合。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.