国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 學(xué)院 > 開發(fā)設(shè)計(jì) > 正文

17 - 05 - 11 C++初窺

2019-11-14 12:27:54
字體:
供稿:網(wǎng)友

l 函數(shù)重載(函數(shù)多態(tài))

可以有多個(gè)同名函數(shù),只要他們的參數(shù)不同即可。

int store (int ,int);

int store (long ,long);

int store (long);

 調(diào)用該函數(shù)時(shí),指定的參數(shù)決定了調(diào)用哪一個(gè)版本

l 緩沖區(qū)存儲(chǔ); 定義一個(gè)數(shù)組 yum[100]來存儲(chǔ)字符串。

(如char yum [ ] = “Zombie liion”)

std::cin >> yum;

但是如何保證用戶的輸入不會(huì)溢出?而且如果用戶輸入了空格,cin 會(huì)認(rèn)為字符串就此結(jié)束,

不再會(huì)將接下來的內(nèi)容寫入緩沖區(qū)。

為了解決這個(gè)問題,必須調(diào)用cin 對(duì)象的方法getline并

提供兩個(gè)參數(shù) 1、要填充的緩沖區(qū) 2、最多讀取的字符數(shù)。

   std::cin .getline(yum,18)

   這樣可以讀取18個(gè)字符,包括空字符(空格)

   在遇到回車后 停止讀取。

  還可以:  std::cin .getline ( yum,18,‘ ’);

  這條語(yǔ)句在遇到空格后即停止讀取輸入。

ex:  char name[100];

      std::cin .getline(name,18);

類和成員

 1) 類的聲明(class)比如聲明一個(gè)Tricycle類:

class Tricycle {      //三輪車public:   unsigned int speed;   pedal();      //踏板   brake();      //剎車 };   

一個(gè)成員變量speed 兩個(gè)成員函數(shù),這三個(gè)成員可以被其他類 直接引用。

//聲明了類后,系統(tǒng)并不會(huì)為這個(gè)Tricycle分配內(nèi)存,

他只是告訴編譯器,這個(gè)類是什么,包括什么

聲明了類后,可以用這個(gè)類來創(chuàng)建對(duì)象。

ex:Tricycle Yong_Jiu;      //永久牌三輪車 同 int n;   

創(chuàng)建對(duì)象后,可使用“ . ”來訪問其成員變量/成員函數(shù) 

ex :       Yong_Jiu .speed = 6

注意:這里 Tricycle .speed = 6 是不允許的。

調(diào)用pedal()函數(shù):  Yong_Jiu .pedal(); 

class Tricycle {      int model = 110;public:   int....   pedal....} 

model并不在public 之列,所以他是私有的(PRivate)

雖然成員變量可以是共有的,但最好將他們都聲明為私有的(private)這樣只能通過成員函數(shù)訪問他們,

用于設(shè)置或獲取私有成員變量值的函數(shù)稱為 存取器(accessor),其他 類 要使用這些變量,必須調(diào)用存取器.

要想訪問私有函數(shù),要在類中設(shè)置一個(gè)共有的接口函數(shù),類的對(duì)象需要通過這個(gè)接口函數(shù)才能訪問私有成員。

#include<iostream>using namespace std;class human  {public:	void set(int w) { weight = w; }	int print ( )  { return weight ; }private:	int weight;}; int main ( ) {	human Tom;	Tom.set(5);	cout<<"Tom的體重為:"<<Tom.print()<<"/n";	human Mike; 	Mike.set(7);	cout<<"Mike的體重為:"<<Mike.print()<<"/n"; 	return 0;} 

輸出結(jié)果如下:   Tom的體重為:5

Mike的體重為:7

看似這么復(fù)雜的設(shè)置了一個(gè)接口是為了提高安全性,比如用戶輸入了一個(gè)超過范圍的數(shù),

這個(gè)就可以在接口函數(shù)set中進(jìn)行設(shè)定:

void set(int w) {	if(w>0 && w<100)		weight = w;	else		cout<<“請(qǐng)將weight的值設(shè)置為從0~100,否則系統(tǒng)將會(huì)把weight設(shè)置為0”	weight = 0;}

一般情況下,我們將類的數(shù)據(jù)成員設(shè)置為私有,而使用類的公有函數(shù)來訪問它,

好處就是數(shù)據(jù)的賦值和讀取分開操作,賦值函數(shù)不需要考慮讀取函數(shù)是如何工作的,

反之亦然,如此便提高了程序的可維護(hù)性。


發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 哈巴河县| 靖州| 娱乐| 东丽区| 亳州市| 凯里市| 紫阳县| 赣榆县| 阿城市| 江都市| 山东| 合阳县| 绥阳县| 白朗县| 都江堰市| 东乌珠穆沁旗| 康乐县| 邓州市| 洪洞县| 静乐县| 深州市| 老河口市| 遵化市| 瓮安县| 临夏市| 韩城市| 贡嘎县| 台江县| 鲁甸县| 易门县| 奉新县| 沧源| 大洼县| 江北区| 法库县| 徐闻县| 鄂伦春自治旗| 日喀则市| 梨树县| 崇信县| 台中县|