布爾類型對象可以被賦予文字值true或者false,所對應的關係就是真於假的概念!
我們通常使用的方法是利用他來判斷條件的真於假,例如如下的代碼:
C++ 代碼
//程序作者:管寧 //站點:www.cndev-lab.com //所有稿件均有版權,如要轉載,請務必著名出處和作者 #include <iostream> using namespace std; void main(void) { bool found = true; if (found) { cout << "found條件爲真!" << endl; } } |
如果一個變量你需要幾種可能存在的值,那麼就可以被定義成爲枚舉類型。之所以叫枚舉就是說將變量或者叫對象可能存在的情況也可以說是可能的值一一例舉出來。
舉個例子來說明一吧,爲了讓大家更明白一點,比如一個鉛筆閤中有一支筆,但在沒有打開之前你並不知道它是什麼筆,可能是鉛筆也可能是鋼筆,這裏有兩種可能,那麼你就可以定義一個枚舉類型來表示它!
C++ 代碼
enum box{pencil,pen}; //這裏你就定義了一個枚舉類型的變量叫box,這個枚舉變量內含有兩個元素也稱枚舉元素在這裏是pencil和pen,分別表示鉛筆和鋼筆。 |
在這裏要說一下,如果你想定義兩個具有同樣特性枚舉類型的變量那麼你可以用如下的兩種方式進行定義!
C++中布爾類型
布爾類型對象可以被賦予文字值true或者false,所對應的關係就是真與假的概念。
我們通常使用的方法是利用他來判斷條件的真與假,例如下面的代碼:
#include <iostream>
using namespace std;
void main(void)
{
bool found = true;
if (found)
{
cout << "found條件爲真!" << endl;
}
}
但是一些概念不清的人卻不知道布爾類型的對象也可以被看做是一種整數類型的對象,但是他不能被聲明成signed,unsigned,short long,如果你生成(short bool found=false;),那麼將會導致編譯錯誤。
其爲整數類型的概念是這樣的:
當表達式需要一個算術值的時候,布爾類型對象將被隱式的轉換成int類型也就是整形對象, false就是0,true就是1,請看下面的代碼!
#include <iostream>
#include <string>
using namespace std;
void main(void)
{
bool found = true;
int a = 1;
cout << a + found << endl;
cin.get();
}
a+found 這樣的表達式樣是成立的,輸出後的值爲2進行了加法運算!
那麼說到這裏很多人會問指針也可以嗎?回答是肯定的這樣一個概念對於指針同樣也是有效的,下面我們來看一個將整形指針對象當作布爾對象進行使用的例子:
#include <iostream>
using namespace std;
void main(void)
{
int a = 1;
int *pi;
pi=&a;
if (*pi)
{
cout << "*pi爲真" << endl;
}
cin.get();
}
上面代碼中的*pi進行了隱式樣的布爾類型轉換表示爲了真也就是true。
來源:網絡
<script>show_item("75305","sign");</script>
C++ 代碼
enum box{pencil,pen}; enum box box2;//或者簡寫成box box2; |
再有一種就是在聲明的時候同時定義。
C++ 代碼
enum {pencil,pen}box,box2; //在聲明的同時進行定義! |
枚舉變量中的枚舉元素系統是按照常量來處理的,故叫枚舉常量,他們是不能進行普通的算術賦值的,(pencil=1;)這樣的寫發是錯誤的,但是你可以在聲明的時候進行賦值操作!
C++ 代碼
enum box{pencil=1,pen=2}; |
但是這裏要特別注意的一點是,如果你不進行元素賦值操作那麼元素將會被系統自動從0開始自動遞增的進行賦值操作,說到自動賦值,如果你只定義了第一個那麼系統將對下一個元素進行前一個元素的值加1操作,例如
C++ 代碼
enum box{pencil=3,pen}; //這裏pen就是4系統將自動進行pen=4的定義賦值操作! |