最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時間:2016年01月21日 15:18:51   投稿:goldensun  
這篇文章主要介紹了C++中聲明類的class與聲明結(jié)構(gòu)體的struct關(guān)鍵字,默認(rèn)情況下結(jié)構(gòu)的所有成員均是公有的,而類的所有成員是私有的,需要的朋友可以參考下

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

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

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

使用舉例

// class.cpp
// compile with: /EHsc
// Example of the class keyword
// Exhibits polymorphism/virtual functions.

#include <iostream>
#include <string>
#define TRUE = 1
using 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)與類相同,只不過其成員默認(rèn)為 public。
使用結(jié)構(gòu)
在 C 中,你必須顯式使用 struct 關(guān)鍵字來聲明結(jié)構(gòu)。 在 C++ 中,你不需要在定義該類型之后使用 struct 關(guān)鍵字。
可以選擇在定義結(jié)構(gòu)類型時,通過在右大括號和分號之間放置一個或多個逗號分隔的變量名稱來聲明變量。
可以初始化結(jié)構(gòu)變量。 每個變量的初始化必須括在大括號中。
有關(guān)相關(guān)信息,請參閱 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 PERSON

struct 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

相關(guān)文章

  • C++入門教程詳解之命名空間、函數(shù)重載、缺省參數(shù)

    C++入門教程詳解之命名空間、函數(shù)重載、缺省參數(shù)

    這篇文章主要介紹了C++入門教程詳解之命名空間、函數(shù)重載、缺省參數(shù),本文通過實例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-06-06
  • C++中rapidjson組裝map和數(shù)組array的代碼示例

    C++中rapidjson組裝map和數(shù)組array的代碼示例

    今天小編就為大家分享一篇關(guān)于C++中rapidjson組裝map和數(shù)組array的代碼示例,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2019-04-04
  • VC++中的字體設(shè)置方法詳解

    VC++中的字體設(shè)置方法詳解

    以下是對VC++中的字體設(shè)置方法進(jìn)行了詳細(xì)的介紹,需要的朋友可以過來參考下
    2013-09-09
  • C語言使用ffmpeg實現(xiàn)單線程異步的視頻播放器

    C語言使用ffmpeg實現(xiàn)單線程異步的視頻播放器

    這篇文章主要為大家詳細(xì)介紹了C語言如何使用ffmpeg實現(xiàn)單線程異步的視頻播放器功能,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以嘗試一下
    2022-12-12
  • 詳解C++中十六進(jìn)制字符串轉(zhuǎn)數(shù)字(數(shù)值)

    詳解C++中十六進(jìn)制字符串轉(zhuǎn)數(shù)字(數(shù)值)

    這篇文章主要介紹了詳解C++中十六進(jìn)制字符串轉(zhuǎn)數(shù)字(數(shù)值)的相關(guān)資料,這里提供兩種實現(xiàn)方法,需要的朋友可以參考下
    2017-08-08
  • C語言中find_package()的搜索路徑的實現(xiàn)

    C語言中find_package()的搜索路徑的實現(xiàn)

    本文主要介紹了C語言中find_package()的搜索路徑的實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-12-12
  • C++多線程之互斥鎖與死鎖

    C++多線程之互斥鎖與死鎖

    互斥鎖和死鎖是C++多線程中常見的情況,這篇文章就帶大家進(jìn)一步了解多線程中的互斥鎖與死鎖這兩個概念,文中的示例代碼介紹得很詳細(xì),快來跟隨小編一起學(xué)習(xí)吧
    2021-12-12
  • Qt數(shù)據(jù)庫應(yīng)用之實現(xiàn)圖片轉(zhuǎn)pdf

    Qt數(shù)據(jù)庫應(yīng)用之實現(xiàn)圖片轉(zhuǎn)pdf

    這篇文章主要為大家詳細(xì)介紹了如何利用Qt實現(xiàn)圖片轉(zhuǎn)pdf功能,文中的示例代碼講解詳細(xì),對我們學(xué)習(xí)或工作有一定參考價值,需要的可以了解一下
    2022-06-06
  • 詳解C++ 創(chuàng)建文件夾的四種方式

    詳解C++ 創(chuàng)建文件夾的四種方式

    這篇文章主要介紹了C++ 創(chuàng)建文件夾的四種方式,本文示例都是在 E:\database 路徑下創(chuàng)建一個叫做 testFolder 的文件夾,文章通過實例代碼給大家介紹的非常詳細(xì),需要的朋友參考下吧
    2021-11-11
  • OpenCV實現(xiàn)圖像邊緣檢測

    OpenCV實現(xiàn)圖像邊緣檢測

    這篇文章主要為大家詳細(xì)介紹了OpenCV實現(xiàn)圖像邊緣檢測,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-01-01

最新評論

海淀区| 博客| 贺州市| 磴口县| 峨边| 新巴尔虎左旗| 高安市| 施甸县| 革吉县| 额敏县| 霍林郭勒市| 成都市| 齐齐哈尔市| 贵南县| 庆城县| 江津市| 绍兴市| 长子县| 邢台市| 临夏县| 光泽县| 乐亭县| 称多县| 亳州市| 苏尼特右旗| 霞浦县| 班戈县| 正阳县| 故城县| 长宁县| 平邑县| 新河县| 青神县| 峨眉山市| 阿鲁科尔沁旗| 汉阴县| 汝城县| 靖宇县| 开平市| 绥德县| 中西区|