Enum列舉

主程式

enum宣告

語法

enum 變數名稱{常數1, 常數2, 常數3, 常數4, ...};

列舉型態在內部視為整數,通常集合第一個元素值為0,下一個為1,以此類推。

以下的寫法是錯誤,編譯器編不過。

day1 = 5;

完整程式碼

1
2
3
4
5
6
7
8
9
10
enum days_of_week {Sun, Mon, Tue, Wed, Thu, Fri, Sat};
int main() {
  days_of_week day1, day2;
  day1 = Mon;
  day2 = Thu;
  
  int diff = day2 - day1;
  cout << "Days between = " << diff << endl;
  return 0;
}  
Days between = 3

類別與Enum列舉

enum宣告

enum {girl = 0, boy = 1};

變數存放enum

要記得存放enum值的變數

  int sex;

指派enum給變數

在類別之外設定列舉

student.sex = student.girl;

完整程式碼

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
class Student {
public:
  char name[50];
  int sex;
  enum {girl = 0, boy = 1};
private:
  char address[100];
public:
  int age;
private:
  char father[50];
public:
  void setName(const char* name1) {
    strcpy(name, name1);
  }
  void setAge(const int age) {
    this->age = age;
  }
  void print() {
    cout << "name: " << name << endl;
    cout << "age: " << age << endl;
    cout << "sex: ";
    if(sex == girl)
      cout << "girl" << endl;
    else
      cout << "boy" <<endl;
  }
};
int main() {
  Student student;
  student.setName("Bill");
  student.setAge(20);
  student.sex = student.girl;
  student.print();
  return 0;
}

results matching ""

    No results matching ""