久久99久久人婷婷精品综合_超碰aⅴ人人做人人爽欧美_亚洲电影第三页_日韩欧美一中文字暮专区_波多野结衣的一区二区三区_婷婷在线播放_人人视频精品_国产精品日韩精品欧美精品_亚洲免费黄色_欧美性猛交xxxxxxxx

c++類和對象有哪些-創新互聯

c++類和對象有哪些,針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。

創新互聯堅持“要么做到,要么別承諾”的工作理念,服務領域包括:成都做網站、網站建設、外貿營銷網站建設、企業官網、英文網站、手機端網站、網站推廣等服務,滿足客戶于互聯網時代的惠山網站設計、移動媒體設計的需求,幫助企業找到有效的互聯網解決方案。努力成為您成熟可靠的網絡建設合作伙伴!

話不多說,我們直接進入主題:對象:客觀世界里的一切事物都可以看作是一個對象,每一個對象應當具有屬性(靜態特征,比如一個班級,一個專業,一個教室)和行為(動態特征,例如:學習,開會,體育比賽等)兩個要素。 對象是由一組屬性和一組行為構成的。類(class):就是對象的類型,代表了某一批對象的共同特性和特征。類是對象的抽象,而對象是類的具體實例。

2.1 類的引入

在C語言中我們定義一個結構體是這樣定義的:

struct Student{  int _age;  char* _Gender;  char* _Name;};int main(){  struct S;  return 0;}

我們都知道,在C中,“數據”和“處理數據的操作(函數)”是分開的,語言本身并沒有支持“數據和函數”之間的關聯性。那么,如果我們要在某種特定情況下讓數據和函數有一定的關聯,這個時候我們應該怎么處理呢?先看一個例子:

很明顯,編譯器報錯了,還很多。也就是說在C語言當中是不允許在結構體中定義函數的,那么在C++中是不是也是這樣呢?

通過對比,我們明顯的發現C++是可以做到我們想要將數據和函數產生一定關系的操作的。為了區別C語言中結構體的定義struct,在C++中我們常用class來代替struct。

2.2 類的定義

#include <iostream>using namespace std;class Student{public:  char* _name;private:  char* _Gender;  int _age;};int main(){  class S;  return 0;}

class是C++中定義類的關鍵字,Student為類的名字,{}中為類的主體,和結構體類似,在{}后面跟的是;。類中的元素稱為類的成員,類中的數據稱為類的屬性或者類的成員變量,類中的函數稱為類的成員函數。

類的定義通常有兩種方式:

1、將類的聲明和定義都放在類體中za2、將類的聲明放在.h頭文件中,定義放在.cpp文件中

在代碼中我們看到了private 和 public兩個沒有見過的東西,接下來我們講一講C++的三大特性:繼承 封裝 多態封裝:隱藏對象的屬性和現實細節,僅對外公開接口和對象進行交互,將數據和操作數據的方法有機結合。

這里的public 和 private是C++中的訪問限定符,訪問限定符有三個:public (公有) protected(保護) private(私有)。在下面的博文中我們會用到這些限定符,具體情況后續文章再作介紹,這里讀者只需了解就可。

這里做一些說明:

1、public成員在類外可以直接訪問2、protected和private成員在類外不能夠直接訪問,在這里我們簡單的把他們看成一樣的。(二者區別就是基類private成員在派生類中是不能被訪問的,如果基類成員不想再類外被訪問,但需要在派生類中能訪問,就定義為protected,后面博文更到派生類時我們會再來把這兩個東西拿出來再講一講)3、他們的作用域從該訪問限定符出現的位置開始直到下一個訪問限定符出現截止4、class的默認訪問權限是private,而struct默認訪問權限是public(因為struct要兼容C的特點)

那么我們如何在類外訪問一個類中的私有成員變量呢?(面試題)

方法一:在類中添加一個共有的方法

我們可以看到在public中定義的公有函數可以在類外訪問私有成員變量,這是訪問的一種方法。

類的作用域

在C語言階段我們知道變量的作用域只有局部域和全局域兩種,而在C++作用域則分為了局部域、全局域、命名空間域和類域四種,前面幾種域相信我們都已將熟悉過,這里我講一下類域。

類定義了一個新的作用域,類的所有成員都必須處在類的作用域中。形參表和函數體處于類的作用域中。在類體外定義成員,需要用 :: 作用域解析符指明成員屬于哪一個類域。在類的作用域外,只能通過對象(或指針)借助成員訪問操作符 . 和->來訪問類成員,跟在訪問操作符后面的名字必須在相關聯的類的作用域中。

下面我們看看在代碼中如何實現上述的意思:

#define _CRT_SECURE_NO_WARNINGS 1#include <iostream>using namespace std;namespace N1  //命名空間域{  int a = 10;}int a = 20;   //全局域void FunTest(){  cout << "FunTest()" << endl;}class Test{public:  void SetA(int a)  {    a = a;      //存在歧義,是變量給變量賦值呢還是形參給變量賦值,或者變量給形參賦值呢?同學們不要這樣寫     //實際證明,這里的賦值是形參給形參賦值,結果并沒有改變變量的值,結果出了函數作用域自然是一個隨機值 正確寫法: **_a = a;**  }  void PrintA()  {    cout << a << endl;  //cout << _a <<endl;  }private:  int a;         //類域  正確寫法:int _a;};int main(){  int a = 40;       //局部域  Test t;  t.SetA(30);  cout << N1::a << endl;   //打印命名空間域的值  cout << ::a << endl;    //打印全局域的值  cout << a << endl;     //打印局部域的值  t.PrintA();         //打印類域的值  return 0;}

看完這串代碼不知道各位有沒有什么疑惑呢?這里附上這段代碼的結果:

我們本應該想讓編譯器給我們打印出10 20 30 40這幾個值,結果最后卻給了我們一個亂碼,這是為什么呢?細心的同學應該發現了,在這里我們定義的所有的變量都是用的同一個名稱a,這樣的編碼習慣是極不好的,容易引起誤會,上面就給了一個反例。

在使用一個變量時,我們應當注意必須要先聲明后使用

2.2 類的對象的模型

類對象模型:類中各成員在內存中的布局形式。下面我們以代碼形式舉例說明一下:

class Student{public:   void SetStudentInfo(char* name, char* gender, int age)  {    strcpy(_name, name);      strcpy(_gender, gender);    _age = age;        }  void PrintInfo()  {    cout << _name << " " << _gender << " " << _age << endl;  }private:  char _name[20];  char _gender[3];  int _age;};int main(){  Student s1, s2;  cout << sizeof(s1) << endl;  s1.SetStudentInfo("鳴人", "男", 14);  s2.SetStudentInfo("佐助", "男", 14);  return 0;}

既然一個類有那么多成員和不同的對象,那么它到底是怎么來存儲的呢?

下面給出三種假設:

假設一

假設二:

那就剩最后一種假設了:

顯然。這種假設才是成立的。

提一個問題:C++是怎么計算一個類的大小的?

我們在程序中驗證一下:

class A1{public:  void f1()  {}  void f2()  {}}; class A2{public:  void f1()  {}private:  int a = 10;};class A3{};int main(){  cout << sizeof(A1) << endl;  //1  cout << sizeof(A2) << endl;  //4  cout << sizeof(A3) << endl;  //1  return 0;}

可以看到在有成員變量的時候得到的值是4,而一個空類和只有成員函數的時候它的值是1,難道是成員函數的大小?顯然是不對的,前面我們說過,成員函數是不占大小的,因此我們可以得出結論:一個類的大小,實際上就是該類中非靜態成員變量之和,當然也要注意內存對齊,空類大小值為一(在Linux和VS下面是 1)為什么是一呢?就是為了區分不同的對象,設計 1 是為了 節省空間

關于c++類和對象有哪些問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注創新互聯行業資訊頻道了解更多相關知識。

網站欄目:c++類和對象有哪些-創新互聯
鏈接URL:http://www.js-pz168.com/article16/ddpgdg.html

成都網站建設公司_創新互聯,為您提供動態網站虛擬主機定制開發網站導航響應式網站網站設計

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

外貿網站建設
久久99久久人婷婷精品综合_超碰aⅴ人人做人人爽欧美_亚洲电影第三页_日韩欧美一中文字暮专区_波多野结衣的一区二区三区_婷婷在线播放_人人视频精品_国产精品日韩精品欧美精品_亚洲免费黄色_欧美性猛交xxxxxxxx
精品福利一二区| 国产欧美在线观看一区| 久久精品亚洲精品国产欧美| 国产精品国产三级国产有无不卡| 天天色天天操综合| 国产成人亚洲精品青草天美| 福利精品视频| 色偷偷88欧美精品久久久| 日韩亚洲电影在线| 一区二区在线观看不卡| 久久爱另类一区二区小说| 菠萝蜜视频在线观看一区| 欧美三级电影在线播放| 欧美日韩国产另类不卡| 国产精品网曝门| 日本不卡在线视频| 91丨九色丨国产丨porny| 男男gaygay亚洲| 91小视频在线| 中文字幕人成一区| 精品国产免费人成在线观看| 亚洲电影第三页| jiyouzz国产精品久久| 日韩欧美手机在线| 精品欧美一区二区三区精品久久| 亚洲夂夂婷婷色拍ww47| 成人免费毛片aaaaa**| 色综合久久久久久久久五月| 日韩欧美中文字幕精品| 亚洲五码中文字幕| 成人avav影音| 自拍偷拍亚洲色图欧美| 国产欧美精品国产国产专区| 美腿丝袜亚洲三区| 国产一区高清视频| 欧美丰满少妇xxxxx高潮对白| 综合亚洲深深色噜噜狠狠网站| 国产精品夜夜爽| 神马一区二区影院| 久久久久久麻豆| 久久超碰97中文字幕| 久久综合伊人77777麻豆| 福利视频一区二区三区| 欧美人伦禁忌dvd放荡欲情| 一区二区三区在线影院| 成人免费视频网站在线观看| 制服国产精品| 亚洲欧洲日韩av| 成a人片亚洲日本久久| 色香色香欲天天天影视综合网| 国产精品高潮呻吟| 成人午夜激情影院| 中文字幕日韩精品一区二区| 国产精品美女久久久久久久网站| 国产成人免费在线观看不卡| 亚洲三区四区| 国产精品久久久久久久久久久免费看 | 欧美性高清videossexo| 亚洲欧洲韩国日本视频| 成人免费福利片| 色视频欧美一区二区三区| 中文字幕一区日韩精品欧美| 成人做爰69片免费看网站| 在线免费一区| 亚洲视频1区2区| 91免费视频网| 国产高清精品一区| 日韩一区二区电影网| 欧美aaaaaa午夜精品| 亚洲.欧美.日本.国产综合在线| 国产欧美一区二区精品秋霞影院| 国产成人鲁色资源国产91色综| 色婷婷激情一区二区三区| 亚洲麻豆国产自偷在线| 不卡视频一区| 久久综合久色欧美综合狠狠| 国内精品国产三级国产a久久| 亚洲人一区二区| 亚洲精品中文在线| 激情五月综合色婷婷一区二区| 精品国产乱码久久久久久老虎| 国产永久精品大片wwwapp| 日本精品视频一区二区| 欧美日韩亚洲在线| 国产精品国产三级国产a | 国产精品美女久久久久av福利| 日韩一区二区三区视频| 黑人巨大精品欧美黑白配亚洲| 一本到高清视频免费精品| 亚洲成人自拍网| 日韩精品第一页| 国产精品全国免费观看高清 | 日韩一二三区不卡| 国产精品99久久不卡二区| 欧美日韩一区二区三区四区五区| 日韩高清在线观看| 一区二区精品免费视频| 午夜精品福利一区二区蜜股av| 日本三级中国三级99人妇网站| 亚洲欧美日本在线| 精品久久久久久中文字幕动漫| 欧美国产一区在线| 91久色国产| 国产视频一区在线观看| 114国产精品久久免费观看| 亚洲精品一区二区三区福利| 成人黄色a**站在线观看| 欧美xxxx老人做受| av一区二区久久| 久久亚洲影视婷婷| 91成人在线看| 中文字幕欧美激情| 国产一区二区不卡视频在线观看| 中文av一区特黄| 国内一区二区三区在线视频| 中文字幕精品一区二区三区精品| 成人免费在线一区二区三区| 欧美国产日韩a欧美在线观看| 国产厕所精品在线观看| 国产精品天干天干在观线| 精品福利影视| 亚洲欧美激情视频在线观看一区二区三区 | 亚洲国产一区二区在线播放| 亚洲精品高清国产一线久久| 日韩精品成人一区二区三区 | 久久艹中文字幕| 亚洲精品老司机| 亚洲视频在线二区| 亚洲妇熟xx妇色黄| 在线国产伦理一区| 精品一区二区三区视频在线观看 | 国产校园另类小说区| 国产精品免费在线播放| 亚洲色图都市小说| 亚洲狠狠婷婷综合久久久| 日韩高清欧美激情| 欧美日韩国产精品成人| 成人激情小说乱人伦| 久久九九全国免费| 欧美动漫一区二区| 视频一区二区中文字幕| 欧美色大人视频| www.欧美精品一二区| 中文字幕av一区二区三区高| 欧美xxxx黑人又粗又长密月| 香港成人在线视频| 色婷婷激情久久| 国产激情一区二区三区| xf在线a精品一区二区视频网站| 成人三级在线| 亚洲一二三四在线| 在线观看亚洲一区| 成人一级黄色片| 国产欧美视频在线观看| 欧美精品一区二区三区在线四季 | 欧美丝袜丝nylons| 成人ar影院免费观看视频| 国产精品久久久久影院色老大| 秋霞在线观看一区二区三区| 精品一区二区在线免费观看| 久久先锋影音av鲁色资源| 久久99精品久久久久久久久久 | 国产视频一区在线播放| 欧美日韩国产精品一区二区| 免费成人性网站| 欧美电影免费观看高清完整版在线| 国产精品久久久久久久天堂第1集| 在线视频你懂得一区| 国产成人av电影在线| 中国色在线观看另类| 一区二区三区|亚洲午夜| 国产.欧美.日韩| 亚洲免费在线看| 精品视频一区二区三区免费| 91成人免费在线观看| 一区二区三区四区av| 欧洲日韩一区二区三区| 91国产丝袜在线放| 午夜精品成人在线视频| 欧美变态口味重另类| 久久综合色一本| 国产久卡久卡久卡久卡视频精品| 国产精品视频免费看| 色国产精品一区在线观看| 91浏览器打开| 五月婷婷综合网| 久久天天做天天爱综合色| 日韩少妇中文字幕| 高清日韩电视剧大全免费| 亚洲激情网站免费观看| 91麻豆精品国产91久久久资源速度 | 久久精品噜噜噜成人av农村| 国产三级精品三级| 色久优优欧美色久优优| 成人资源av| 久久疯狂做爰流白浆xx| 亚洲欧洲国产专区| 91精品国产黑色紧身裤美女| 九九99玖玖| 国产成人99久久亚洲综合精品|