1. 程式人生 > >【C++】初學類和物件的概念

【C++】初學類和物件的概念

C++中的類Class可以看作C語言中結構體的升級版。結構體是一種構造型別,它可以包含若干成員變數,而其中每個成員變數的型別又可以不同。例如:

struct Student
{//結構體包含的成員變數
	char *name;
	int age;
	float score;
};

void Display(struct Student stu)
{
	printf("%s的年齡是%d,成績是%.2f\n",stu.name,stu.age,stu.score);
}

int main()
{
	struct Student stu1;
	stu1.name = "小明";
	stu1.age = 18;
	stu1.score = 68.9;
	Display(stu1);
	return 0;
}

打印出來是:  小明的年齡是18,成績是68.90

 

C++中的類也是一種建構函式,但在其基礎上有所擴充套件,比如:類的物件不但可以是變數,還可以是函式。通過類定義出來的變數被稱為“物件”。例如:

//通過class關鍵字定義 類
class Student
{
public:
	//類包含的變數
	char *name;
	int age;
	float score;
	//類包含的函式
	void Display()
	{
		printf("%s的年齡是%d,成績是%.2f\n",name,age,score);
	}
};

int main()
{//通過類來定義變數,即建立物件
	class Student stu1;//可以忽略關鍵字class
	//為變數賦值
	stu1.name = "小明";
	stu1.age = 18;
	stu1.score = 68.9;
	//呼叫類的成員函式
	stu1.Display();//和上一個在呼叫時有所區別
	return 0;
}

執行結果同上。

結構體和類都可以看作是使用者自定義的一種複雜資料型別,其中C語言中(如第一段程式碼所呈現,我們將Display()寫到struct Student外面)的結構體struct只能包含變數,結構體定義出來的變數叫“變數” ; C++中(如第二段程式碼所呈現,我們將Display()寫到了class Student裡面,像一個完整的整體)的類class不僅可以包含變數,還可以包含函式Display(),類定義出來的變數被稱為“物件”(Object)

在通過class關鍵字定義完類Student後,又通過Student類建立了一個物件stu1。變數和函式都是類的成員,建立物件後可以通過“

.”來訪問。

有些資料還將類的成員變數稱為 屬性 , 將類的成員函式成為 方法。