真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯網站制作重慶分公司

C++類與對象-創(chuàng)新互聯

前言(類的基本概念)

1、現實世界的事物所具有的共性就是每個事物都具有自身的屬性, - -些自身具有的行為,例如一個學生有姓名、性別、年齡等屬性,吃飯睡覺玩游戲等行為。C+ +提供了類的概念,可以將某一類事物的所有屬性和行為封裝在一個class中。

創(chuàng)新互聯公司于2013年開始,是專業(yè)互聯網技術服務公司,擁有項目網站制作、成都網站制作網站策劃,項目實施與項目整合能力。我們以讓每一個夢想脫穎而出為使命,1280元梓潼做網站,已為上家服務,為梓潼各地企業(yè)和個人服務,聯系電話:18980820575

2、類對于某個事物的描述其實還是抽象的,例如有一-類事物有姓名、性別、年齡等屬性,可以吃飯睡覺玩游戲等行為,如果只是這么描述的話其實我們是不知道這個事物具體是什么樣的,因為這個類沒有告訴我們每個屬性具體的值是多少(這個事物的姓名是什么,年齡是多少),所以類只是對某一類事物的一個描述而已。實際應用中我們需要操作某類事物中一個或者多個具體的事物。那么這個具體的事物我們就稱之為對象。

3、類是抽象的,對象是具象的。

4、對象是怎么來的呢?由類實例化而來。因此我們也說通過一個類實例化-個對象。

一、類的基本使用 1.類的定義和實例化

1)類的定義

屬性:變量

行為:函數/方法

類的定義:class+類名{

訪問控制符:

成員變量//屬性

成員函數//行為

};

訪問控制符有三種:public,private,protected.

實列:創(chuàng)建一個動物類

class CAnimal{//,在工程中我們習慣將類名首字母大寫
	public://訪問控制符
		char name[32];//定義一個名字屬性
		int age;//定義一個年齡屬性
	public:
		void func(char *voice){//成員函數,也稱方法
			cout<

這里先使用訪問控制符public,后面再詳細介紹訪問控制符。

2)類的實列化

實列化一個普通對象

類名 +對象名

CAnimal a;//就簡單實列化一個對象了

當進行實列化了后,a就擁有CAnimal的公有屬性了。

那么接下來我們就對這個對象的屬性進行賦值。

CAnimal a;//實列化一個對象
	a.age=10;//對年齡進行賦值
	cout<
10
xiaohua:gu lu gu lu
xiaohua

這樣我們就給a這個對象的屬性賦值,查看屬性和調用方法。

那么我們下面來學習定義一個指針變量

類名 *對象名

CAnimal *p;//定義一個指針

注意:定義一個指針變量,但是本質還是指針,不是實列化的對象。

那么接下來就讓我們來看看指針變量的用法吧

CAnimal a;
	a.age=10;
	coutage<func("hulalala");//通過指針來調用方法
10
xiaohua:gu lu gu lu
xiaohua
100
xiaohua:hulalala
2.訪問控制符

C++中給予成員函數和成員變量訪問權限。

public:公有的,修飾成員函數和成員變量只能在類里類外均可以訪問。

protected:保護的,修飾成員函數和成員變量只能在類里可以訪問。

private: 私有的,修飾成員函數和成員變量只能在類里可以訪問。

就這么說著大家都應該不是很明白吧。什么叫類內,什么叫類外?

class Teacher{
	public://
		char name[32];
	private://在私有屬性下定義的
		int _age;//[Error] 'int Teacher::_age' is private
		char _sex;
};
 int main()
{
	Teacher t;
	int age;
	char m;
	memset(t.name,0,sizeof(t.name));
	strcpy(t.name,"wanglaoshi");
	t._age=34;
	t._sex='m';
	return 0;
}

大家看報錯原因,_age在private中,在Teacher這個類外是不能進行訪問的。

[Error] 'int Teacher::_age' is private

雖然是private,但是如果我們要對其進行訪問又該怎么進行操作的呢?這個時候我們就在類內進行修改,private允許在類內進行訪問,那么在類內又該怎么進行賦值呢?下面進行代碼展示:

class Teacher{
	public://
		char name[32];
		void set_age(int age)  {_age=age;}
		int get_age()  {return _age;}
		void set_sex(char sex)  {_sex=sex;}
		char get_sex()  {return _sex;}
	private:
		int _age;//[Error] 'int Teacher::_age' is private
		char _sex;//一般在private中的屬性前加_
};

如上面代碼顯示,在類的public中創(chuàng)建兩個函數為在其他函數的訪問提供接口,一個set函數給私有屬性賦值,一個get函數將私有屬性的值拿出來。

那么有沒有小伙伴會這么想,反正都能訪問private里面的值,那么這個private有什么用呢?乍一看好像沒啥用,但是小伙伴們想想啊,萬一我們在給private里的屬性賦值的時候會不會賦錯,或者賦一些奇葩的數字上去

t._age=10000;
	t>_sex='p';

如上代碼,但是在我們的現實生活中沒有這樣的人存在,明顯不滿足客觀規(guī)律。這時候private配合著set函數就可以輕松的解決了,上面那個代碼大家看看該怎么改才能達到目的

void set_age(int age){
			if(age<0||age>200){
				cout<<"error age"<

我們在set函數里面加給條件判斷,這樣我們就可以對數據進行合理性檢驗,保證代碼的健壯性。

雖然我們進行了賦值,但是為了代碼的健壯性我們可以對代碼進行優(yōu)化改進

bool set_age(int age){
			if(age<0||age>200){
				cout<<"error age"<

利用bool類型這樣我們就可以在調用函數時發(fā)現問題了。

你是否還在尋找穩(wěn)定的海外服務器提供商?創(chuàng)新互聯www.cdcxhl.cn海外機房具備T級流量清洗系統(tǒng)配攻擊溯源,準確流量調度確保服務器高可用性,企業(yè)級服務器適合批量采購,新人活動首月15元起,快前往官網查看詳情吧


文章標題:C++類與對象-創(chuàng)新互聯
文章出自:http://weahome.cn/article/hceej.html

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部