C 類和物件,結構體

2021-07-22 18:01:40 字數 2032 閱讀 1377

趁著中秋放假要多補補知識了,感覺自己對c++了解的不夠紮實,,為了更好的工作,只好再來看看。

c和c++規定可以用乙個結構體,裡面即可有陣列,也可以有其他變數。c中成員只能是資料,c++除了資料,還可以是函式。

但是,c++提供了類這個東西,所以不需要包含函式的結構體。

1,結構體:

#include

using namespace std;

int main();

}

在c中,用struct student student1來定義變數,c++中,可以不必用struct,直接在結構體後面加上student1.如:

struct studentstudent1;

指向結構體變數的指標:

#include

#include

using namespace std;

int main();

student stu;

student *p = &stu;

stu.name = "小王";

stu.num = 1001;

stu.score = 80.5;

cout << stu.name << " " << stu.num << "  " << stu.score << endl;

cout << (*p).name << " " << (*p).num << " " << (*p).score << endl;

system("pause");

return 0;

}輸出結果是一樣的。(*p)表示p指向的是結構體變數。由於「.」的運算子優於「*」,如果用*p.name,就相當於*(p.name)

開闢新空間:

#include

#include

using namespace std;

struct student;

int main()

2,類

c++中的類是c中的結構體公升級版,結構體是一種構造資料型別,類也是一種構造資料型別,不僅包含變數,還包括函式,通過類定義出來的變數叫「物件」。通過class關鍵字定義。

#include

#include

int

main

()

}

;

//通過類來定義變數,即建立物件

class

student stu1;

//也可以省略關鍵字class

//操作類的成員

stu1.name =

"小明"

;stu1.age =15;

stu1.score =

92.5f;

stu1.

say();

return0

;

}

class 是c++中的關鍵字,用來宣告乙個類。public 也是乙個關鍵字,表示後面的成員都是公有的;所謂公有,就是通過當前類建立的物件都可以訪問這些成員。除了 public 還有 private,它表示私有的,也就是物件都不能訪問這些成員。

在c++中,通過類名就可以建立物件,即將圖紙生產成零件,這個過程叫做

類的例項化

,因此也稱物件是類的乙個例項。

類 物件 結構體

類 是對某一類物件的抽象 物件 是某一種類的例項 類是抽象的,不占用記憶體,而物件是具體的,占用儲存空間。類的定義一般分為宣告部分和實現部分,當類的成員函式的函式體在類的外部定義時,必須由作用域運算子 來通知編譯系統該函式所屬的類。類中的資料成員的型別可以是任意的,但不允許對所定義的資料成員進行初始...

C結構體 C 結構體 和 C 類的區別

c結構體 c 結構體基本相同,c 類主要是方法的實現。結構體是資料型別的集合 類是資料型別加方法的集合,基本如此,更注重方法。1.c的結構體和c 結構體的區別 1 c的結構體內不允許有函式存在,c 允許有內部成員函式,且允許該函式是虛函式。所以c的結構體是沒有建構函式 析構函式 和this指標的。2...

C 結構體和類介紹

include stdafx.h include include using namespace std struct test 定義乙個名為test的結構體 void main movie 可以在宣告struct的時候宣告乙個struct例項,這個有啥意思呢?int main dates char...