国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 編程 > C++ > 正文

C++中聲明類的class與聲明結(jié)構(gòu)體的struct關(guān)鍵字詳解

2020-05-23 14:09:46
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友
這篇文章主要介紹了C++中聲明類的class與聲明結(jié)構(gòu)體的struct關(guān)鍵字,默認(rèn)情況下結(jié)構(gòu)的所有成員均是公有的,而類的所有成員是私有的,需要的朋友可以參考下
 

class
class 關(guān)鍵字聲明類類型或定義類類型的對(duì)象。
語(yǔ)法

   [template-spec]    class [ms-decl-spec] [tag [: base-list ]]{  member-list} [declarators];[ class ] tag declarators;

參數(shù)
template-spec
可選模板說(shuō)明。
ms-decl-spec
可選存儲(chǔ)類說(shuō)明有關(guān)更多信息
tag
給定于類的類型名稱。在類范圍內(nèi)的標(biāo)記成為了保留字。標(biāo)志是可選項(xiàng)。如果省略,定義匿名類。
base-list
此類派生其成員的類或結(jié)構(gòu)的可選列表。
member-list
類成員列表。
declarators
指定類類型一個(gè)或多個(gè)實(shí)例名稱的聲明符列表。如果類的所有數(shù)據(jù)成員是 public,聲明符可以包含初始值設(shè)定項(xiàng)列表。

使用舉例

// class.cpp// compile with: /EHsc// Example of the class keyword// Exhibits polymorphism/virtual functions.#include <iostream>#include <string>#define TRUE = 1using namespace std;class dog{public:  dog()  {   _legs = 4;   _bark = true;  }  void setDogSize(string dogSize)  {   _dogSize = dogSize;  }  virtual void setEars(string type)   // virtual function  {   _earType = type;  }private:  string _dogSize, _earType;  int _legs;  bool _bark;};class breed : public dog{public:  breed( string color, string size)  {   _color = color;   setDogSize(size);  }  string getColor()  {   return _color;  }  // virtual function redefined  void setEars(string length, string type)  {   _earLength = length;   _earType = type;  }protected:  string _color, _earLength, _earType;};int main(){  dog mongrel;  breed labrador("yellow", "large");  mongrel.setEars("pointy");  labrador.setEars("long", "floppy");  cout << "Cody is a " << labrador.getColor() << " labrador" << endl;}


struct
struct 關(guān)鍵字定義結(jié)構(gòu)類型和/或結(jié)構(gòu)類型的變量。

[template-spec] struct[ms-decl-spec] [tag [: base-list ]]{   member-list } [declarators];[struct] tag declarators;

參數(shù)
與class的參數(shù)相同,可以參照上面的。
備注
結(jié)構(gòu)類型是用戶定義的復(fù)合類型。 它由可具有不同類型的字段或成員構(gòu)成。
在 C++ 中,結(jié)構(gòu)與類相同,只不過(guò)其成員默認(rèn)為 public。
使用結(jié)構(gòu)
在 C 中,你必須顯式使用 struct 關(guān)鍵字來(lái)聲明結(jié)構(gòu)。 在 C++ 中,你不需要在定義該類型之后使用 struct 關(guān)鍵字。
可以選擇在定義結(jié)構(gòu)類型時(shí),通過(guò)在右大括號(hào)和分號(hào)之間放置一個(gè)或多個(gè)逗號(hào)分隔的變量名稱來(lái)聲明變量。
可以初始化結(jié)構(gòu)變量。 每個(gè)變量的初始化必須括在大括號(hào)中。
有關(guān)相關(guān)信息,請(qǐng)參閱 class、union 和 enum。
示例

 #include <iostream>using namespace std;struct PERSON {  // Declare PERSON struct type  int age;  // Declare member types  long ss;  float weight;  char name[25];} family_member;  // Define object of type PERSONstruct CELL {  // Declare CELL bit field  unsigned short character : 8; // 00000000 ????????  unsigned short foreground : 3; // 00000??? 00000000  unsigned short intensity : 1; // 0000?000 00000000  unsigned short background : 3; // 0???0000 00000000  unsigned short blink   : 1; // ?0000000 00000000} screen[25][80];    // Array of bit fields int main() {  struct PERSON sister;  // C style structure declaration  PERSON brother;  // C++ style structure declaration  sister.age = 13;  // assign values to members  brother.age = 7;  cout << "sister.age = " << sister.age << '/n';  cout << "brother.age = " << brother.age << '/n';  CELL my_cell;  my_cell.character = 1;  cout << "my_cell.character = " << my_cell.character;}// Output:// sister.age = 13// brother.age = 7// my_cell.character = 1
 


發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 凤台县| 观塘区| 柳林县| 丹棱县| 正安县| 美姑县| 浠水县| 临漳县| 浠水县| 钟祥市| 德州市| 巴中市| 屏东县| 出国| 崇礼县| 濮阳县| 贵港市| 梓潼县| 营山县| 开封市| 德化县| 额济纳旗| 方城县| 秦皇岛市| 改则县| 柘城县| 南木林县| 台中县| 新昌县| 二手房| 西华县| 年辖:市辖区| 吉林市| 上林县| 福泉市| 齐河县| 右玉县| 井冈山市| 忻州市| 织金县| 望都县|