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

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

網(wǎng)站建設(shè)運(yùn)用軟件網(wǎng)站關(guān)鍵詞優(yōu)化推廣哪家快

網(wǎng)站建設(shè)運(yùn)用軟件,網(wǎng)站關(guān)鍵詞優(yōu)化推廣哪家快,如何使用開(kāi)源程序做網(wǎng)站,上海網(wǎng)站建設(shè)工作學(xué)習(xí)本身就是一件很快樂(lè)的事情 一. 面向?qū)ο蠛兔嫦蜻^(guò)程 我們?cè)趯W(xué)習(xí)計(jì)算機(jī)的過(guò)程中經(jīng)常會(huì)聽(tīng)到xxx是一門(mén)面向?qū)ο蟮恼Z(yǔ)言 xxx是一門(mén)面向過(guò)程的語(yǔ)言 那么到底什么是面向?qū)ο?什么是面向過(guò)程呢? 簡(jiǎn)單介紹下 面向過(guò)程 面向過(guò)程關(guān)注的是過(guò)程 分析出求解問(wèn)題的步驟&…

學(xué)習(xí)本身就是一件很快樂(lè)的事情

一. 面向?qū)ο蠛兔嫦蜻^(guò)程?

我們?cè)趯W(xué)習(xí)計(jì)算機(jī)的過(guò)程中經(jīng)常會(huì)聽(tīng)到xxx是一門(mén)面向?qū)ο蟮恼Z(yǔ)言 xxx是一門(mén)面向過(guò)程的語(yǔ)言

那么到底什么是面向?qū)ο?什么是面向過(guò)程呢?

簡(jiǎn)單介紹下

面向過(guò)程

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

比如說(shuō)就拿洗衣服

我們關(guān)注的是洗衣服這個(gè)過(guò)程

就像這樣子

面向?qū)ο?

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

還是以洗衣服這個(gè)動(dòng)作來(lái)說(shuō)

?二. C++中類(lèi)的引入

?C語(yǔ)言結(jié)構(gòu)體中只能定義變量,在C++中,結(jié)構(gòu)體內(nèi)不僅可以定義變量,也可以定義函數(shù)。比如:
之前在數(shù)據(jù)結(jié)構(gòu)初階中,用C語(yǔ)言方式實(shí)現(xiàn)的棧,結(jié)構(gòu)體中只能定義變量;現(xiàn)在以C++方式實(shí)現(xiàn),會(huì)發(fā)現(xiàn)struct中也可以定義函數(shù)。

#include<iostream>
#include<stdio.h>
#include<string.h>
#include<assert.h>
using namespace std;typedef int Datetype;struct Stack
{//定義變量類(lèi)型Datetype* _arr;int _top;int _capacity;//定義函數(shù)void StackInit(size_t capacity){_arr = (Datetype*)malloc(sizeof(Datetype)*capacity);if (_arr == nullptr){perror("Init malloc fail");}_capacity = capacity;_top = 0;}void StackPush(Datetype x){assert(_capacity > _top);_arr[_top] = x;_top++;}Datetype StackTop(){return _arr[_top-1];}void StackDestory(){_top = _capacity = 0;free(_arr);_arr = nullptr;}};
int main()
{Stack s;s.StackInit(20);s.StackPush(10);s.StackPush(10);s.StackPush(10);s.StackPush(20);cout << s.StackTop() << endl;s.StackPush(30);cout << s.StackTop() << endl;return 0;
}

我們定義了一個(gè)類(lèi) 然后使用這個(gè)類(lèi)創(chuàng)建了一個(gè)對(duì)象 之后使用這個(gè)類(lèi)的對(duì)象 使用一些方法

在Stack這個(gè)類(lèi)中 里面的變量是_arr _top _capacity
然后里面的這些方法 StackPush() StackInit() StackTop() 可以調(diào)用這些變量
此外 類(lèi)里面的函數(shù)和變量的上下關(guān)系是隨意的?

事實(shí)上 在C++當(dāng)中 這里并不是結(jié)構(gòu)體的定義 這是類(lèi)的封裝

在C語(yǔ)言的結(jié)構(gòu)體中,不會(huì)有函數(shù)這樣的成員變量,因?yàn)镃語(yǔ)言是面向過(guò)程的,其操作方式是與成員直接分開(kāi)的;

而C++是是面向?qū)ο蟮?#xff0c;一個(gè)對(duì)象就是包括了自身屬性和動(dòng)作。

一個(gè)對(duì)象中有很多的方法 方法就是函數(shù)

當(dāng)我們使用一個(gè)類(lèi)去定義的時(shí)候 我們就能夠得到一個(gè)對(duì)象 當(dāng)我們想要對(duì)這個(gè)對(duì)象進(jìn)行操作的時(shí)候我們就可以直接用內(nèi)部的方法進(jìn)行操作

上面結(jié)構(gòu)體的定義,在C++中更喜歡用class來(lái)代替。

三. 類(lèi)的定義?

我們會(huì)使用這樣子的結(jié)構(gòu)來(lái)定義一個(gè)類(lèi)

class className
{
// 類(lèi)體:由成員函數(shù)和成員變量組成
};  // 一定要注意后面的分號(hào)

其中class是一個(gè)關(guān)鍵字

classname是類(lèi)名

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

那么我現(xiàn)在問(wèn)你 成員變量是什么?

是不是就是類(lèi)中的變量

成員函數(shù)是什么?

是不是就是類(lèi)的函數(shù)

類(lèi)的兩種定義方式

1. 直接在函數(shù)內(nèi)部定義

就像這樣子

不過(guò)要注意的是 成員函數(shù)在類(lèi)的內(nèi)部定義有可能會(huì)被當(dāng)成內(nèi)聯(lián)函數(shù)

2. 在函數(shù)外部定義

就像這樣子

命名建議

我們先來(lái)看看這種命名方式

這個(gè)函數(shù)是不是很僵硬

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

?所以說(shuō)我們的建議都是這樣子的

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

加個(gè)m在前面或者是加個(gè)_在前面是不是清晰多了

四. 類(lèi)的訪問(wèn)限定符和封裝

4.1 訪問(wèn)限定符

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

這里分別由三種權(quán)限 分別是 公有 保護(hù) 還有私有

(目前階段 將保護(hù)還有私有認(rèn)為是一致的就可以)

聽(tīng)名字也很好理解是吧

公有是大家都能使用的 保護(hù)和私有是限制訪問(wèn)的

還是一樣 我們來(lái)看代碼

我們 struct 變成 class之后就報(bào)錯(cuò)了

這是為什么呢?

剛剛不是說(shuō)struct和class都可以定義類(lèi)嘛

這是因?yàn)閏++的一條語(yǔ)法規(guī)則

class的默認(rèn)訪問(wèn)權(quán)限為private,struct為public (這是為什么呢?)

因?yàn)閟truct要兼容c的語(yǔ)法 所以只能這么設(shè)計(jì)了

如果我們想要解決這個(gè)錯(cuò)誤也很簡(jiǎn)單 直接public一下就好了

是不是錯(cuò)誤就全部消失了

訪問(wèn)操作符的權(quán)限如下

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

4.2 關(guān)于域操作符的問(wèn)題

我們的先來(lái)看幾段有意思的代碼

咦 我們發(fā)現(xiàn)到這里就會(huì)報(bào)錯(cuò)了

這是因?yàn)?對(duì)于結(jié)構(gòu)體中的變量 它實(shí)際上是沒(méi)有初始化的

對(duì)于類(lèi)來(lái)說(shuō) 它是不是形式上類(lèi)似于一個(gè)結(jié)構(gòu)體呀

結(jié)構(gòu)體內(nèi)部的變量是不是沒(méi)有實(shí)例化

所以說(shuō)我們使用未實(shí)例化的變量是不是會(huì)報(bào)錯(cuò)啊

這里說(shuō)了這么一大堆要表達(dá)的東西是什么呢?

總結(jié)來(lái)說(shuō)一句話

不能使用類(lèi)名訪問(wèn)成員變量

面試題

C++中struct和class的區(qū)別是什么?

答案:
因?yàn)橐嫒輈語(yǔ)言的原因
struct可以定義結(jié)構(gòu)體
class不可以

還是因?yàn)橐嫒輈語(yǔ)言的原因
struct默認(rèn)訪問(wèn)限定符是public
class默認(rèn)訪問(wèn)限定符是private

4.3 封裝

【面試題】
面向?qū)ο蟮娜筇匦?#xff1a;封裝、繼承、多態(tài)。
在類(lèi)和對(duì)象階段,主要是研究類(lèi)的封裝特性,那什么是封裝呢?

封裝:將數(shù)據(jù)和操作數(shù)據(jù)的方法進(jìn)行有機(jī)結(jié)合,隱藏對(duì)象的屬性和實(shí)現(xiàn)細(xì)節(jié),僅對(duì)外公開(kāi)接口來(lái)和對(duì)象進(jìn)行交互。
封裝本質(zhì)上是一種管理,讓用戶(hù)更方便使用類(lèi)。比如:對(duì)于電腦這樣一個(gè)復(fù)雜的設(shè)備,提供給用戶(hù)的就只有開(kāi)關(guān)機(jī)鍵、通過(guò)鍵盤(pán)輸入,顯示器,USB插孔等,讓用戶(hù)和計(jì)算機(jī)進(jìn)行交互,完成日常事務(wù)。但實(shí)際上電腦真正工作的卻是CPU、顯卡、內(nèi)存等一些硬件元件。

對(duì)于計(jì)算機(jī)使用者而言,不用關(guān)心內(nèi)部核心部件,比如主板上線路是如何布局的,CPU內(nèi)部是如何設(shè)計(jì)的等,用戶(hù)只需要知道,怎么開(kāi)機(jī)、怎么通過(guò)鍵盤(pán)和鼠標(biāo)與計(jì)算機(jī)進(jìn)行交互即可。因此計(jì)算機(jī)廠商在出廠時(shí),在外部套上殼子,將內(nèi)部實(shí)現(xiàn)細(xì)節(jié)隱藏起來(lái),僅僅對(duì)外提供開(kāi)關(guān)機(jī)、鼠標(biāo)以及鍵盤(pán)插孔等,讓用戶(hù)可以與計(jì)算機(jī)進(jìn)行交互即可。
在C++語(yǔ)言中實(shí)現(xiàn)封裝,可以通過(guò)類(lèi)將數(shù)據(jù)以及操作數(shù)據(jù)的方法進(jìn)行有機(jī)結(jié)合,通過(guò)訪問(wèn)權(quán)限來(lái)隱藏對(duì)象內(nèi)部實(shí)現(xiàn)細(xì)節(jié),控制哪些方法可以在類(lèi)外部直接被使用。

五. 類(lèi)的作用域?

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

這個(gè)也很好理解嘛 其實(shí)我們回過(guò)頭去看看那些大括號(hào) 基本上都是定義了一個(gè)新的作用域

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

六. 類(lèi)的實(shí)例化

用類(lèi)的類(lèi)型創(chuàng)建對(duì)象的過(guò)程叫做類(lèi)的實(shí)例化

1 類(lèi)是對(duì)對(duì)象進(jìn)行描述的,是一個(gè)模型一樣的東西,限定了類(lèi)有哪些成員,定義出一個(gè)類(lèi)并沒(méi)有分配實(shí)際的內(nèi)存空間來(lái)存儲(chǔ)它;

比如說(shuō):入學(xué)時(shí)填寫(xiě)的學(xué)生信息表,表格就可以看成是一個(gè)類(lèi),來(lái)描述具體學(xué)生信息。

2 一個(gè)類(lèi)可以實(shí)例化出多個(gè)對(duì)象,實(shí)例化出的對(duì)象 占用實(shí)際的物理空間,存儲(chǔ)類(lèi)成員變量

我們來(lái)看以下代碼

這里直接用類(lèi)調(diào)用成員會(huì)報(bào)錯(cuò)

必須要先創(chuàng)建一個(gè)實(shí)例

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

?總結(jié)

較為詳細(xì)的介紹了類(lèi)和對(duì)象的一部分內(nèi)容
由于博主水平有限 錯(cuò)誤在所難免 希望大佬看到之后能夠不吝賜教

http://www.risenshineclean.com/news/54318.html

相關(guān)文章:

  • 網(wǎng)站引流怎么做關(guān)鍵詞優(yōu)化工具
  • 自己做采集電影網(wǎng)站營(yíng)銷(xiāo)推廣活動(dòng)策劃方案
  • 網(wǎng)站建設(shè)速成班廈門(mén)人才網(wǎng)官網(wǎng)招聘信息網(wǎng)
  • 網(wǎng)站建設(shè)制作細(xì)節(jié)天津百度推廣公司電話
  • 給我一個(gè)網(wǎng)站2021seo顧問(wèn)服務(wù) 樂(lè)云踐新專(zhuān)家
  • 成都網(wǎng)絡(luò)推廣網(wǎng)站引流客戶(hù)的最快方法是什么
  • 備案公司網(wǎng)站建設(shè)方案書(shū)百度收錄入口在哪里
  • 科技網(wǎng)站建設(shè)免費(fèi)的個(gè)人網(wǎng)站html代碼
  • termux 安裝wordpress搜索引擎優(yōu)化報(bào)告
  • 淘寶客網(wǎng)站推廣位怎么做天津站內(nèi)關(guān)鍵詞優(yōu)化
  • 優(yōu)秀網(wǎng)站的必備要素使用 ahrefs 進(jìn)行 seo 分析
  • com的域名是指商業(yè)網(wǎng)站的域名.免費(fèi)seo排名優(yōu)化
  • 引流推廣方案廈門(mén)seo外包平臺(tái)
  • python做網(wǎng)站設(shè)計(jì)百度指數(shù)數(shù)據(jù)分析平臺(tái)
  • 網(wǎng)站建設(shè)作者墻這個(gè)模板培訓(xùn)學(xué)校網(wǎng)站
  • 哪種編程語(yǔ)言可以做網(wǎng)站軟文寫(xiě)作范例大全
  • 做論壇網(wǎng)站4g空間夠不夠用自己搭建網(wǎng)站需要什么
  • 電商網(wǎng)站建設(shè)的相關(guān)內(nèi)容seo服務(wù)外包公司
  • 外貿(mào)建站費(fèi)用安卓手機(jī)優(yōu)化神器
  • 企業(yè)網(wǎng)站建設(shè)方案.doc世界互聯(lián)網(wǎng)峰會(huì)
  • 網(wǎng)站開(kāi)發(fā)總監(jiān)招聘中國(guó)騰訊和聯(lián)通
  • wordpress簡(jiǎn)體中文下載地址神馬快速排名優(yōu)化工具
  • 臺(tái)州做網(wǎng)站哪家好最近的電腦培訓(xùn)學(xué)校
  • 400網(wǎng)站建設(shè)價(jià)格今日頭條新聞在線看
  • 秦皇島黃金海岸濟(jì)寧seo公司
  • 那些做面點(diǎn)的網(wǎng)站好湖南競(jìng)價(jià)優(yōu)化哪家好
  • 織夢(mèng)中英文版網(wǎng)站怎么做免費(fèi)網(wǎng)站服務(wù)器
  • 幫網(wǎng)站做關(guān)鍵詞排名優(yōu)化信息流廣告是什么意思
  • 吉林市網(wǎng)站制作視頻剪輯培訓(xùn)
  • wordpress 主題導(dǎo)出seo店鋪描述例子