C++ 速查手冊
7.5 - 結構
結構可存放不同資料型態的數值,例如
#include <iostream>
struct Demo {
int member1;
char *member2;
float member3;
};
int main() {
Demo d;
d.member1 = 19823;
d.member2 = "203";
d.member3 = 3.011;
std::cout << "member1: " << d.member1 << std::endl;
std::cout << "member2: " << d.member2 << std::endl;
std::cout << "member3: " << d.member3 << std::endl;
return 0;
}
/* 《程式語言教學誌》的範例程式
http://kaiching.org/
檔名:u0705_1.cpp
功能:示範 C++ 的結構型態
作者:張凱慶*/
第 3 行定義一個結構,使用關鍵字 struct ,其後為結構的識別字名稱,後面的大括弧宣告結構的成員 (member) 。此例的 Demo 有 3 個成員,分別屬於 int 、 char* 與 float
struct Demo {
int member1;
char *member2;
float member3;
};
設定或存取結構的成員可利用小數點運算子 . ,此例編譯執行結果如下
$ g++ u0705_1.cpp |
$ ./a.out |
member1: 19823 |
member2: 203 |
member3: 3.011 |
$ |
若結構的成員為指標,就得利用 -> 運算子存取。
結構其實是預設為 public 的類別 (class) ,因此可加入成員函數 (member function) ,例如我們替 Demo 增加一個 member4()
#include <iostream>
struct Demo {
int member1;
float member2;
char *member3;
void member4();
};
void Demo::member4() {
std::cout << "Do something!" << std::endl;
}
int main() {
Demo d;
d.member4();
return 0;
}
/* 《程式語言教學誌》的範例程式
http://kaiching.org/
檔名:u0705_2.cpp
功能:示範 C++ 的結構型態
作者:張凱慶*/
呼叫成員函數同樣用小數點運算子,編譯執行結果如下
$ g++ u0705_2.cpp |
$ ./a.out |
Do something! |
$ |
相關教學影片