iT邦幫忙

2022 iThome 鐵人賽

DAY 10
0
Software Development

C++超級菜鳥也可以懂的物件導向攻略系列 第 10

Day10 - C++物件導向前奏 - 結構Struct

  • 分享至 

  • xImage
  •  

Struct是種把相同類型variable分類法,JS也有類似的做法。
這對瞭解物件導向觀念很有幫助。

比方說我們想紀錄車庫裡有幾台車,包含出廠年份、型號、顏色和廠牌,我們可以怎麼輸入資料到C++?

  1. 先做出第一台車,所以要請記憶體清出空間,就是declare variable,例如:int year, string brand, string colour等等。
  2. 把data放進去variable。
  3. 第二台車又得declare另外的四個variable,因為variable名字不能重複嘛,可能會是:int year2, string brand2....依此類推。

好麻煩啊

前言

struct Car {             // Declare一個結構,叫做Car
  int myNum;         // 這裡的int myNum叫做Member (int variable)
  string myString;   // 這裡的string myString叫做Member (string variable)
}  

上面是C++結構的基本樣貌,以下是如何assign數值給結構還有如何輸出:

結構名字然後用點點 . 連接Member = 要放進去的資料;
啊還是要記得,屬於何種資料類型就只能assign該種資料類型。

Car.myNum = 1;
Car.myString = "Hello World!";

如果我們需要輸入好幾個variable,如範例有好多台車,可以怎麼做?

有的,不用一條一條慢慢打

因為Struct有了名字,裝東西時就很方便,像收納箱上貼好標籤“冬天衣物”、“文具”這樣,不用各別每樣東西再寫一次variable,可以直接套用,範例如以下:

struct Car {
  string brand;
  string colour;
  string model;
  int year;
};
int main() {
  car myCar1;   //這是變造出第一個variable,第一台車資料
  myCar1.brand = "Jaguar"; 
  myCar1.model = "F-type";
  myCar1.year = 2021;
  myCar1.colour = "White";

  car myCar2; //造出第二個variable,第二台車資料
  myCar2.brand = "Jeep";
  myCar2.model = "Wrangler";
  myCar2.colour = "black";
  myCar2.year = 2012;
  
  cout << myCar2.brand; //輸出也很簡單,就像這樣
}

Reference: geeksforgeeks, CSDN, cplusplus


上一篇
Day09 - C++ 遞迴Recursion
下一篇
Day11 - C++好簡單之來做一個ATM系統吧! switch和do..while
系列文
C++超級菜鳥也可以懂的物件導向攻略30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言