亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

C語言的結構和C++類的異同

2019-11-17 05:10:06
字體:
來源:轉載
供稿:網友

  學過C++的人一定知道類是什么,精通C的人也一定知道什么是結構,作為一名C語言的初學者的我,不僅產生了一些疑問:什么叫結構,什么是類?有人說他們長的很像,為什么這么說呢?他們之間有什么聯系呢?但他們究竟一個叫結構另一個叫類,他們又有什么區別呢?帶著這些問題,我淺淺的了解了一下C語言的結構和C++的類。

  首先我們要知道什么是結構什么是類:

  結構是用同一個名字引用的相關的集合(或稱聚合題),它是用其他類型的對象構造出來的派生數據類型。

  說到派生,其實也不難理解:

  結構中可包含多種不同數據類型的變量,如:int型的,float型的,char型的,long型的,甚至數組合指針,以及自引用指針等等,結構中包含有這些數據類型的變量,所以說結構是派生而來。

  結構實例:

strUCt player/*要害字struct定義一個結構*/
{      
 int number;/*聲明一個int型的number*/
 char *name;
 char *nationality;
}
  在struct后邊的player就變成了像int,一樣的聲明符。

main()
{
 struct player A;/*聲明一個player型的結構A*/
 struct player *aptr;/*聲明一個指針*/
 ......
}
  數組與結構一瞥:

 相同點 特點數組都是聚合體數組種植包含相同的數據類型的元素,每個元素都有在數組下的一個數標,如:s[n] 結構  可包括多種不同數據類型的變量。(本篇大部分都在介紹結構,在這里就不多說了)枚舉 利用要害字enum聲明枚舉,一般用來聲明元素有規律的對象體,例如:月份,日期,星期等。 聯合  利用要害字union聲明聯合,聯合的每個成員的地址就是聯合對象的地址,之所以他們公用一個地址,所以聯合又叫共同體,也因此只有最后賦給聯合成員的值才有效。
符號名稱讀法用法. 結構成員運算符結構A的成員numberA.number -> 結構指針運算符aptr指向結構的成員aptr->number
  結構初始化:

  結構初始化有兩種:

  1. 用初始化列表初始化,即在聲明結構變量時,在變量明后用等號連接在花括號中的初始化值列表來初始化該結構變量,初始化值用逗號分開。例如:
struct player A={5,“Xiaogang”,“China”};

  2. 利用訪問結構成員初始化。

  例如:

A.number=5;
A.name="Xiaogang"
A.nationality="China";/*效果于1定義得一樣*/

aptr ->number=5;
aptr ->name="Xiaogang";
aptr ->nationality="China";/*效果于1定義得一樣*/
  要害字typedef:

  typedef 可用來建立已定義好的數據類型的別名。例如:

  typedef struct player Player;

  定義型的類型名Player,它是類型struct player的別名。

  *結構的重要性是不言而喻的,他和指針可用來構造更復雜的數據結構,例如:鏈表、隊列、堆棧和樹。

(在這里我就不多說了!)

  類定義:

  在解釋類之前,我們必須了解對象:

  稱現實世界中客觀存在的事物為對象,只要是客觀世界你能想得到的實物、抽象的物都可以是一個對象;例如:整數是一個對象,汽車是對象,人也是對象......

  C++可使用對象名、屬性和操作三要數來描述對象,我們用對象結構圖來描述一個對象:

C語言的結構和C++類的異同(圖一)

  這里有一個人叫小剛,我們用對象結構圖來描述他:

C語言的結構和C++類的異同(圖二)

  清楚什么是對象了,我們可以介紹類了。 更多文章 更多內容請看C/C++技術專題  C/C++進階技術文檔專題,或

  像構造枚舉和結構一樣,類也是一種用戶自己構造的數據類型,類是在C++下的,所以類遵循C++的規定。C++中聲明的一般形式為:

class 類名?。?br />            私有數據和函數   /*假如沒有使用要害字,則所有成員默認PRivate:為                         private權限*/

            私有數據和函數
     public:
            共有數據和函數
     protected:
            保護數據和函數
};
  私有(Private)成員,只有在類中說明的函數才能訪問該類的私有成員,而在該類外的函數不可以訪問私有成員;公有(Public)成員,類外面也可訪問公有成員,成為該類的接口;還有一種是保護(Protected)成員,這種成員只有該類的派生類可以訪問,其余的在這個類外不能訪問。

  從上圖可以看出,類與結構既有相似又有不同,class似與struct一樣是聲明一個聚合體,而且類也有數據成員,但是類聲明的對象的初始化則與結構大相徑庭,(對象的初始化使用構造函數來完成的,構造函數將在后邊介紹)結構中沒有像類一樣的如public這樣的權限,結構中是不可以有函數的,而類中可以存在函數。
構造函數:

  *“構造函數”是一個非凡的成員函數,不要把它理解為構造一個函數,在c++中構造函數一般與類的名字相同。


class circle {
private:
    int r;         /*一個圓的搬進是圓的數據成員(圓性質)*/
public:
    circle(int i);
};                /*定義一個圓類*/
include <iostream.h>
circle::circle(int i){      /*"::"是類運算符,只要記住‘.’和‘->’是用于對象的,"::"                   是用于類的成員的*/
 r=i;
}                 /*定義構造函數*/

main(){
 circle(6);           /*初始化了r=6*/
}
  此上為構造函數簡單用法。既然說到了構造函數,也就跑不了析構函數。在對象消失時,析構函數將釋放由構造函數分配的內存。一般用于類通明的函數名,沒有參數,并在函數前面加上“~”號。如:~circle();

  從已有的對象類型出發建立一種新的對象類型,使它繼續原對象的特點和功能,這種思想是面向對象設計的主要貢獻。

  從一個或多個以前定義的類產生型類的過程稱為派生,這個新類又成為派生類。類的繼續是指新類從基類那里得到的特征,也就是繼續基類的數據和函數。繼續和派生類不難理解,在我們生活中繼續的例子不勝枚舉。

  如:中學生、大學生繼續學生的性質;輸入輸出設備繼續輸入設備和輸出設備的性質和特點。

C語言的結構和C++類的異同(圖三)

  可見,類要比結構功能強,性質多,類中存在函數,可以看作是一個活生生的生物,它可以做一系列動作,甚至可以繼續;而結構似乎是一個“筆記本”,她只記錄了物體的一些性質。我作為一個初學者,是以結構為引子,了解了一些c++的類,涉入不深,還請高手多提建議! 更多文章 更多內容請看C/C++技術專題  C/C++進階技術文檔專題,或

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
久久久视频免费观看| 91久久久久久国产精品| 日韩欧美黄色动漫| 成人黄色在线播放| 国产精品av网站| 欧美尺度大的性做爰视频| 日韩国产中文字幕| 91爱爱小视频k| 精品福利樱桃av导航| 久久久视频在线| 97视频国产在线| 亚洲欧洲一区二区三区在线观看| 精品久久久久久亚洲精品| 亚洲第一免费网站| 精品久久久香蕉免费精品视频| 91久久精品国产91性色| 91精品久久久久久久久久久久久| 久久天天躁狠狠躁夜夜躁2014| 久久免费视频观看| 久久久久一本一区二区青青蜜月| 日韩欧美有码在线| 亚洲肉体裸体xxxx137| 91最新国产视频| 正在播放亚洲1区| 亚洲综合一区二区不卡| 国产成人亚洲综合91精品| 91经典在线视频| 国产日本欧美一区二区三区在线| 成人激情综合网| 米奇精品一区二区三区在线观看| 欧美大片第1页| 欧美国产在线视频| yellow中文字幕久久| 日韩精品免费在线观看| 国产综合在线看| 久久网福利资源网站| 国产91精品青草社区| 亚洲电影中文字幕| 国产精品高潮呻吟久久av黑人| 亚洲毛片在线免费观看| 亚洲免费人成在线视频观看| 久久久欧美一区二区| 欧美猛男性生活免费| 国产精品视频99| 欧美精品videosex性欧美| 97在线视频免费看| 成人激情视频在线观看| 亚洲男人天堂手机在线| 日韩精品www| 亚洲国产精久久久久久久| 中文字幕欧美国内| 91av在线免费观看视频| 日av在线播放中文不卡| 欧美一级电影在线| 日韩中文字幕免费| 久国内精品在线| 久久精品视频一| 欧美成人免费全部| 久热爱精品视频线路一| 欧美精品在线网站| 欧美在线视频一区| 国产精品偷伦一区二区| 日韩成人av网址| 亚洲天堂av在线免费观看| 亚洲成色999久久网站| 亚洲第一网中文字幕| 中文字幕日本欧美| 国产精品久久久久秋霞鲁丝| 国产欧美亚洲视频| 国产精品美女视频网站| 精品在线欧美视频| 欧美大片免费观看在线观看网站推荐| 日本久久91av| 亚洲美女av网站| 高清欧美一区二区三区| 久久久久久国产精品三级玉女聊斋| 亚洲欧美福利视频| 亚洲国产中文字幕在线观看| 国产va免费精品高清在线| 国产精品欧美一区二区| 国产午夜精品视频| 91精品国产91久久| 在线丨暗呦小u女国产精品| 精品亚洲一区二区三区四区五区| 午夜精品福利视频| 精品国产1区2区| 日韩精品视频免费在线观看| 日韩欧美精品中文字幕| 日韩精品在线影院| 欧美日韩视频在线| 91精品国产网站| 欧美精品videos性欧美| 亚洲在线www| 91大神在线播放精品| 成人久久一区二区三区| 亚洲综合大片69999| 亚洲第一页中文字幕| 尤物tv国产一区| 最近2019中文字幕在线高清| 亚洲精品久久久一区二区三区| 欧美性在线观看| 人人做人人澡人人爽欧美| 国产成人精品在线视频| 91精品国产91久久久久久久久| 久久久久久中文| 欧美电影在线免费观看网站| 久久99热这里只有精品国产| 国产成人精品一区| 欧美最猛黑人xxxx黑人猛叫黄| 国产欧美精品一区二区| 欧美成人黄色小视频| 亚洲精品成人久久| 久久综合伊人77777蜜臀| 亚洲国产精品va在线看黑人动漫| 久久久国产成人精品| 91精品国产综合久久久久久蜜臀| 国产va免费精品高清在线观看| 91禁国产网站| 精品一区精品二区| 日韩精品在线观看一区二区| 国产视频久久久久久久| 91久久国产综合久久91精品网站| 91精品免费久久久久久久久| 91亚洲午夜在线| 欧美午夜丰满在线18影院| 日韩美女激情视频| 久久影视电视剧免费网站| 国产精品2018| 国产精品直播网红| 国产美女被下药99| 中文字幕亚洲字幕| 日韩免费在线电影| 欧美精品福利在线| 人人爽久久涩噜噜噜网站| 久久久久日韩精品久久久男男| 色先锋资源久久综合5566| 国产色视频一区| 中文字幕亚洲综合久久筱田步美| 久久在线视频在线| 97视频在线观看免费| 久久99国产精品久久久久久久久| 欧美理论在线观看| 日本午夜在线亚洲.国产| 日韩高清电影好看的电视剧电影| 欧美老妇交乱视频| 成人a视频在线观看| 欧美极品第一页| 国产精品久久久久久久7电影| 亚洲成人亚洲激情| 欧美专区福利在线| 日韩免费在线免费观看| 夜夜嗨av色一区二区不卡| 日韩电影中文字幕在线观看| 亚洲精品久久久一区二区三区| 成人国产精品色哟哟| 欧美日韩爱爱视频| 欧美做受高潮电影o| 成人精品一区二区三区电影免费| 亚洲深夜福利在线| 国产精品久久久久久网站| 亚洲欧美另类国产| 亚洲综合视频1区| 岛国视频午夜一区免费在线观看| www国产精品视频|