中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁 > news >正文

長(zhǎng)安網(wǎng)站建設(shè)做百度網(wǎng)站一年多少錢

長(zhǎng)安網(wǎng)站建設(shè),做百度網(wǎng)站一年多少錢,開發(fā)公司會(huì)議提綱,進(jìn)入網(wǎng)站自動(dòng)全屏怎么做👑專欄內(nèi)容:C學(xué)習(xí)筆記?個(gè)人主頁:子夜的星的主頁💕座右銘:日拱一卒,功不唐捐 文章目錄一、前言二、面向?qū)ο缶幊倘?、類和?duì)象1、類的引入2、類的定義Ⅰ、聲明和定義在一起Ⅱ、聲明和定義分開Ⅲ、成員變量命…

在這里插入圖片描述

  • 👑專欄內(nèi)容:C++學(xué)習(xí)筆記
  • ?個(gè)人主頁:子夜的星的主頁
  • 💕座右銘:日拱一卒,功不唐捐

文章目錄

  • 一、前言
  • 二、面向?qū)ο缶幊?/li>
  • 三、類和對(duì)象
    • 1、類的引入
    • 2、類的定義
      • Ⅰ、聲明和定義在一起
      • Ⅱ、聲明和定義分開
      • Ⅲ、成員變量命名建議
    • 3、類的封裝和訪問限定符
      • Ⅰ、封裝
      • Ⅱ、訪問限定符
    • 4、類的作用域
    • 5、類的實(shí)例化
  • 四、總結(jié)


一、前言

類和對(duì)象是C++ 在 C 語言的基礎(chǔ)上新增加的特性,而正是因?yàn)檫@一特性,讓C++成為了面向?qū)ο蟮木幊陶Z言。本文將跟隨C++大哥的腳步,介紹類和對(duì)象這一重要特性。

在這里插入圖片描述

二、面向?qū)ο缶幊?/h1>

百度百科:面向?qū)ο蟪绦蛟O(shè)計(jì)(Object Oriented Programming)作為一種新方法,其本質(zhì)是以建立模型體現(xiàn)出來的抽象思維過程和面向?qū)ο蟮姆椒?。模型是用來反映現(xiàn)實(shí)世界中事物特征的。任何一個(gè)模型都不可能反映客觀事物的一切具體特征,只能對(duì)事物特征和變化規(guī)律的一種抽象,且在它所涉及的范圍內(nèi)更普遍、更集中、更深刻地描述客體的特征。通過建立模型而達(dá)到的抽象是人們對(duì)客體認(rèn)識(shí)的深化。

在這里插入圖片描述
以洗衣服為例:

像C語言你這種面向過程編程的做法就是手洗。所以,你想洗一件衣服的話,洗衣服的每一個(gè)過程你自己都要做一遍。

在這里插入圖片描述

而C++洗一件衣服就很簡(jiǎn)單了,只需要把衣服放進(jìn)洗衣機(jī)里就行了。

在這里插入圖片描述
對(duì)比一下上面兩種洗衣服的方法。面向過程,是自己在干活,而面向?qū)ο笫菍⑹挛锔叨瘸橄蠡?#xff0c;所以面向?qū)ο蟊仨毾冉⒊橄竽P?#xff0c;或者更形象點(diǎn)說就是建立一個(gè)機(jī)器,之后直接使用模型(機(jī)器)來干活。

C語言是面向過程的,關(guān)注的是過程,分析出求解問題的步驟,然后通過函數(shù)調(diào)用來逐步解決問題。

C++是面向?qū)ο蟮?#xff0c;關(guān)注的是對(duì)象,將一件事情拆分成不同的對(duì)象,靠對(duì)象之間的交互完成。

三、類和對(duì)象

1、類的引入

類可以看作是C語言里面結(jié)構(gòu)體(struct)的升級(jí)版,在C語言結(jié)構(gòu)體中只能定義變量,在C++中,類不僅可以定義變量,也可以定義函數(shù)。
舉個(gè)例子:
計(jì)算一個(gè)學(xué)生的總分。
C語言是先定義一個(gè)結(jié)構(gòu)體,然后再寫一個(gè)計(jì)算輸出總分的函數(shù)。

struct Student {//結(jié)構(gòu)體包含的成員變量int number;float math;float english;float chinese;
};
//求總分函數(shù)
int Sum(struct Student stu)
{return stu.chinese + stu.english + stu.math;
}
//輸出函數(shù)
void print(struct Student stu) 
{//調(diào)用求總分函數(shù)float sum = Sum(stu);//輸出結(jié)構(gòu)printf("學(xué)號(hào):%d 的總分是 %.2f\n", stu.number,sum );
}
int main() {struct Student s1;s1.number = 01;s1.chinese = 100;s1.english = 100;s1.math = 100;//調(diào)用函數(shù)print(s1);return 0;
}

再看C++的做法,C++是把實(shí)現(xiàn)這個(gè)功能的所有成員和函數(shù)都放在這個(gè)類里面。
以后再想實(shí)現(xiàn)這個(gè)功能,就直接用這個(gè)類就行了。

struct Student 
{int number;float math;float english;float chinese;int Sum(struct Student stu){return stu.chinese + stu.english + stu.math;}void print(struct Student stu){float sum = Sum(stu);printf("學(xué)號(hào):%d 的總分是 %.2f\n", stu.number, sum);}};
int main() {struct Student s1;s1.number = 01;s1.chinese = 100;s1.english = 100;s1.math = 100;s1.print(s1);return 0;
}

注意:上面的定義,在C++中更喜歡用class來代替struct。
當(dāng)然使用struct也行,不過與class相比會(huì)有點(diǎn)不一樣。具體有啥不一樣,請(qǐng)繼續(xù)看下文。

在這里插入圖片描述

2、類的定義

class className
{
// 類體:由成員函數(shù)和成員變量組成
};

class為定義類的關(guān)鍵字,ClassName為類的名字,{ }中為類的主體,注意類定義結(jié)束時(shí)后面分號(hào)不能省略。

  • 類體中內(nèi)容稱為類的成員。
  • 類中的變量稱為類的屬性或成員變量。
  • 類中的函數(shù)稱為類的方法或者成員函數(shù)。

Ⅰ、聲明和定義在一起

聲明和定義可以全部放在類體中的定義,但是需要注意的是成員函數(shù)如果在類中定義,編譯器可能會(huì)將其當(dāng)成內(nèi)聯(lián)函數(shù)處理。
在這里插入圖片描述

Ⅱ、聲明和定義分開

類的聲明放在.h文件中,成員函數(shù)定義放在.cpp文件中。
注意:此時(shí)成員函數(shù)名前需要加類名::
在這里插入圖片描述

Ⅲ、成員變量命名建議

class Date
{
public:void Init(int year){// 這里的year到底是成員變量,還是函數(shù)形參?year = year;}
private:int year;
};

為了避免這種成員變量和函數(shù)形參分不清楚的情況,我們一般都是加個(gè)前綴或者后綴標(biāo)識(shí)進(jìn)行區(qū)分。

class Date
{
public:void Init(int year){year_ = year;}
private:int year_;
};

在這里插入圖片描述

3、類的封裝和訪問限定符

Ⅰ、封裝

封裝:將數(shù)據(jù)和操作數(shù)據(jù)的方法進(jìn)行有機(jī)結(jié)合,隱藏對(duì)象的屬性和實(shí)現(xiàn)細(xì)節(jié),僅對(duì)外公開接口來
和對(duì)象進(jìn)行交互。封裝本質(zhì)上是一種管理,讓用戶更方便使用類。

打個(gè)比方:

對(duì)于電腦這樣一個(gè)復(fù)雜的設(shè)備,提供給用戶的就只有開關(guān)機(jī)鍵、通過鍵盤輸入,顯示器,USB插孔等,讓用戶和計(jì)算機(jī)進(jìn)行交互,完成日常事務(wù)。但實(shí)際上電腦真正工作的卻是CPU、顯卡、內(nèi)存等一些硬件元件。對(duì)于計(jì)算機(jī)使用者而言,不用關(guān)心內(nèi)部核心部件,比如主板上線路是如何布局的,CPU內(nèi)部是如何設(shè)計(jì)的等,用戶只需要知道,怎么開機(jī)、怎么通過鍵盤和鼠標(biāo)與計(jì)算機(jī)進(jìn)行交互即可。因此計(jì)算機(jī)廠商在出廠時(shí),在外部套上殼子,將內(nèi)部實(shí)現(xiàn)細(xì)節(jié)隱藏起來,僅僅對(duì)外提供開關(guān)機(jī)、鼠標(biāo)以及鍵盤插孔等,讓用戶可以與計(jì)算機(jī)進(jìn)行交互即可。

C++實(shí)現(xiàn)封裝的方式:用類將對(duì)象的屬性與方法結(jié)合在一塊,讓對(duì)象更加完善,通過訪問權(quán)限選擇性的將其接口提供給外部的用戶使用。

Ⅱ、訪問限定符

在這里插入圖片描述

  1. public修飾的成員在類外可以直接被訪問
  2. protectedprivate修飾的成員在類外不能直接被訪問(此處protectedprivate是類似的)
  3. 訪問權(quán)限作用域從該訪問限定符出現(xiàn)的位置開始直到下一個(gè)訪問限定符出現(xiàn)時(shí)為止
  4. 如果后面沒有訪問限定符,作用域就到 } 即類結(jié)束。
    5. class的默認(rèn)訪問權(quán)限為privatestructpublic(因?yàn)?code>struct要兼容C語言)

現(xiàn)在回答最開始的問題,C++中struct和class的區(qū)別是什么?

C++需要兼容C語言,所以C++中struct可以當(dāng)成結(jié)構(gòu)體使用。另外C++中struct還可以用來定義類。和class定義類是一樣的,區(qū)別是struct定義的類默認(rèn)訪問權(quán)限是publicclass定義的類默認(rèn)訪問權(quán)限是private。
注意:在繼承和模板參數(shù)列表位置,struct和class也有區(qū)別,后序再給大家介紹。

4、類的作用域

類定義了一個(gè)新的作用域,類的所有成員都在類的作用域中。在類體外定義成員時(shí),需要使用:: 作用域操作符指明成員是屬于哪個(gè)類域。

class Person
{
public:void PrintPersonInfo();
private:char _name[20];char _gender[3];int  _age;
};
//這里需要指定PrintPersonInfo是屬于Person這個(gè)類域
void Person::PrintPersonInfo()
{cout << _name << " "<< _gender << " " << _age << endl;}

在這里插入圖片描述

5、類的實(shí)例化

用類類型創(chuàng)建對(duì)象的過程,稱為類的實(shí)例化。

  1. 類是對(duì)對(duì)象進(jìn)行描述的,是一種復(fù)雜數(shù)據(jù)類型的聲明,不占用內(nèi)存空間。
  2. 一個(gè)類可以實(shí)例化出多個(gè)對(duì)象,實(shí)例化出的對(duì)象占用實(shí)際的物理空間,存儲(chǔ)類成員變量。

舉個(gè)例子:類實(shí)例化出對(duì)象就像現(xiàn)實(shí)中使用建筑設(shè)計(jì)圖建造出房子,類就像是設(shè)計(jì)圖。只是設(shè)計(jì)出了需要什么東西,但是并沒有實(shí)體的建筑存在,同樣類也只是一個(gè)設(shè)計(jì),實(shí)例化出的對(duì)象才能實(shí)際存儲(chǔ)數(shù)據(jù),占用物理空間。

在這里插入圖片描述
在這里插入圖片描述

四、總結(jié)

  1. C++是面向?qū)ο蟮?#xff0c;關(guān)注的是對(duì)象,將一件事情拆分成不同的對(duì)象,靠對(duì)象之間的交互完成。
  2. 封裝就是將數(shù)據(jù)和操作數(shù)據(jù)的方法進(jìn)行有機(jī)結(jié)合,隱藏對(duì)象的屬性和實(shí)現(xiàn)細(xì)節(jié),僅對(duì)外公開接口來
    和對(duì)象進(jìn)行交互。封裝本質(zhì)上是一種管理,讓用戶更方便使用類。
  3. 在類體外定義成員時(shí),需要使用:: 作用域操作符指明成員是屬于哪個(gè)類域。
  4. 對(duì)象是對(duì)客觀事物的抽象,類是對(duì)對(duì)象的抽象。 類是一種抽象的數(shù)據(jù)類型。 它們的關(guān)系是,對(duì)象是類的實(shí)例,類是對(duì)象的模板。
  5. 如果有對(duì)象。請(qǐng)不要因?yàn)閷W(xué)習(xí)面向?qū)ο缶幊?#xff0c;而忽略了對(duì)象的情緒。
http://www.risenshineclean.com/news/55756.html

相關(guān)文章:

  • 網(wǎng)站開發(fā)定制模板網(wǎng)站建設(shè)抖音seo排名系統(tǒng)哪個(gè)好用
  • 岳陽網(wǎng)站設(shè)計(jì)改版電子商務(wù)seo
  • 做門戶網(wǎng)站的系統(tǒng)seo公司賺錢嗎
  • 2019做網(wǎng)站賺錢么企業(yè)培訓(xùn)課程ppt
  • 網(wǎng)站截圖怎么做互聯(lián)網(wǎng)平臺(tái)推廣怎么做
  • 網(wǎng)站建設(shè)神器現(xiàn)在做網(wǎng)絡(luò)推廣都有什么方式
  • 怎么給網(wǎng)站命名青島seo關(guān)鍵詞
  • 手機(jī)網(wǎng)站開發(fā)企業(yè)網(wǎng)站推廣的形式有
  • 做ppt到哪個(gè)網(wǎng)站找圖片網(wǎng)絡(luò)營(yíng)銷推廣方案前言
  • c#做asp.net網(wǎng)站余姚網(wǎng)站seo運(yùn)營(yíng)
  • wordpress頭條主題中國(guó)seo第一人
  • 怎么免費(fèi)建立自己網(wǎng)站網(wǎng)站推廣優(yōu)化的方法
  • 官網(wǎng)站內(nèi)推廣內(nèi)容seo快速推廣竅門大公開
  • 重慶企業(yè)網(wǎng)站建設(shè)解決方案百度銷售系統(tǒng)
  • 無錫做網(wǎng)站排名上海市人大常委會(huì)
  • 贊賞分享wordpress代碼360優(yōu)化大師官方官網(wǎng)
  • 微信網(wǎng)頁制作網(wǎng)站長(zhǎng)春seo優(yōu)化企業(yè)網(wǎng)絡(luò)躍升
  • 天津市住房與城鄉(xiāng)建設(shè)廳網(wǎng)站百度平臺(tái)
  • 昆明網(wǎng)站建設(shè)工作室西安百度seo排名
  • 兼職網(wǎng)網(wǎng)站建設(shè)方案建議書娃哈哈軟文推廣
  • ui設(shè)計(jì)和網(wǎng)站開發(fā)seo效果檢測(cè)步驟
  • 撫州市建設(shè)局網(wǎng)站桂林最新消息今天
  • web前端面試以前都是做的小網(wǎng)站怎樣在百度上發(fā)表文章
  • 服務(wù)性網(wǎng)站建設(shè)的原則seo雙標(biāo)題軟件
  • 免費(fèi)的網(wǎng)站在線客服系統(tǒng)關(guān)鍵詞搜索技巧
  • 建設(shè)中網(wǎng)站首頁百度app怎么找人工客服
  • 呼和浩特網(wǎng)站建設(shè)公司網(wǎng)站模板之家
  • 哈爾濱網(wǎng)站制作公司價(jià)格廣東seo推廣公司
  • 常用的建站工具有哪些電銷名單渠道在哪里找
  • 外貿(mào)模版網(wǎng)站奉化seo頁面優(yōu)化外包