#include using namespace std;
const int max_len = 1000; //棧的最大容量
const int empty = -1;
const int full = max_len - 1;
struct chstack
void push(char c)
char pop()
char top()
bool empty()
bool full()
};//實現字串逆序輸出,當然,是殺雞用牛刀
//這下面是****u.cpp
int main()
; cout << str << endl;
chstack s;
s.clear(); //對s進行clear操作
int i = 0;
while (str[i] && !s.full())
s.push(str[i++]);
while (!s.empty())
cout << s.pop();
cout << endl;
system("pause");
}
進行優化的理由:對本菜雞而言,指標是原罪。
其次,其中成員函式可以在類內部定義,也可以在類外定義,如果在類外定義的話,函式名前要加類的名字和作用域符::,表示這個函式是屬於這個類裡面的(當然不同於全域性函式)。
比如: void chstack::clear()
提一句,在類內部定義的函式預設為內聯inline函式。如果想在類外定義內聯inline函式,需要顯示地呈現關鍵字inline。
c++通過限定成員的訪問許可權來設定邊界,實現資訊隱藏。訪問限定符就是做這麼乙個事的,關鍵字public、private和protected被稱為訪問限定符,在類的定義中使用,一般語法如下:
struct 類名
如果沒有指定訪問限定符,都預設是public。
public成員在程式的任何函式或者類中都可以被訪問 。public用於說明類介面中的成員,客戶程式通過public成員可以操控該型別的物件;private成員之訥訥感狗由類自己的成員函式或友元訪問,需要隱藏資訊的話應宣告為private;protected成員訪問許可權介於上述二者之間,主要用於繼承當中,這個還是後話。
我們在定義的時候,一般先寫public再寫private、protected。
在清華的教材中,編者建議,應該盡可能限制類成員的訪問性,一般而言,多隱藏比少隱藏好。(有待實踐考證)
C結構體 C 結構體 和 C 類的區別
c結構體 c 結構體基本相同,c 類主要是方法的實現。結構體是資料型別的集合 類是資料型別加方法的集合,基本如此,更注重方法。1.c的結構體和c 結構體的區別 1 c的結構體內不允許有函式存在,c 允許有內部成員函式,且允許該函式是虛函式。所以c的結構體是沒有建構函式 析構函式 和this指標的。2...
C語言結構體 C 結構體和C 類的解析
1.c的結構體和c 結構體的區別 1.1 c的結構體內不允許有函式存在,c 允許有內部成員函式,且允許該函式是虛函式。所以c的結構體是沒有建構函式 析構函式 和this指標的。1.2 c的結構體對內部成員變數的訪問許可權只能是public,而c 允許public,protected,private三...
GNU對C語言的擴充套件 結構體
在閱讀gnu linux核心 時,我 們會遇到一種特殊的結構初始化方式。該方式是某些c教材 如譚二版 k r二版 中沒有介紹過的。這種方式稱為指定初始化 designated initializer 下面我們看乙個例子,linux 2.6.x drivers usb storage usb.c中有這...