1. 程式人生 > >C++快速入門---聯合、列舉和類型別名(7)

C++快速入門---聯合、列舉和類型別名(7)

C++快速入門---聯合、列舉和類型別名(7)

 

聯合可以容納多種不同型別的值,但是它每次只能儲存這些值中的某一個。

#include <iostream>

union mima
{
	unsigned long birthday;
	unsigned short ssn;
	char *pet;
};

int main()
{
	mima mima_1;
	
	mima_1.birthday = 19881301;
	std::cout << mima_1.birthday << "\n";
	
	mima_1.pet = "Chaozai";
	std::cout << mima_1.pet << "\n";
	std::cout << mima_1.birthday << "\n";
	
	return 0;
}

這個聯合將把"Chaozai"存入mima_1聯合的pet成員,並丟棄birthday成員裡的值。

 

 

列舉

列舉(enum)型別用來建立一個可取值列表。

編譯器會按照各個列舉值在定義時出現的先後順序把它們與0~n-1的整數分別關聯起來。

#include <iostream>

int main()
{
	enum weekdays{Monday, Tuesday, Wednesday, Thursday, Friday};
	
	weekdays today;
	
	today = Monday;
	std::cout << today << "\n";
	
	today = Tuesday;
	std::cout << today << "\n";
}

 

類型別名typedef

使用它可以為一個型別定義建立一個別名。