最贊回答 / Alienware01
#include<iostream>using std::ostream;using std::istream把using namespace std;換成上面代碼 vc6不兼容問題
2017-02-14
最贊回答 / T_h_e_A_noends
我明白了 ?elem是一個(gè)引用,elem = stack[top];雖然int elem = 0;但是其實(shí)執(zhí)行代碼時(shí)elem就是top了。
2017-02-10
最贊回答 / 慕粉3829398
因?yàn)轭^文件主要用于函數(shù)和變量的聲明,本身無法編譯。雖然可以在頭文件中直接寫上代碼的實(shí)現(xiàn),但該部分代碼只有在程序運(yùn)行的時(shí)候才能夠被調(diào)用,無法單獨(dú)編譯,所以在定義類的時(shí)候,通常會(huì)拆成"*.h"和"*.cpp"兩個(gè)文件來保存
2017-01-12
最贊回答 / brilliantShirley
成員函數(shù)和數(shù)據(jù)成員一樣都是屬于類的成員??梢酝ㄟ^實(shí)例化類來調(diào)用成員函數(shù)。而普通的全局函數(shù)和類中的成員函數(shù)不同,不需要對(duì)象就可以調(diào)用。
2017-01-01
MyStack<char> *pStack = new MyStack<char>(30);
int mod = 0;
char modchar;
int N = 13548;
while (N != 0)
{
mod = N%HEXADECIMAL;
if (mod < 10)
{
modchar = mod + 48;
}
else
{ modchar = (mod - 10) + 'A'; }
pStack->push(modchar);
N /= HEXADECIMAL;
}
pStack->stackTraverse(false);
int mod = 0;
char modchar;
int N = 13548;
while (N != 0)
{
mod = N%HEXADECIMAL;
if (mod < 10)
{
modchar = mod + 48;
}
else
{ modchar = (mod - 10) + 'A'; }
pStack->push(modchar);
N /= HEXADECIMAL;
}
pStack->stackTraverse(false);
2016-12-24
最新回答 / 瘋狂小惠
需要,因?yàn)樵摵瘮?shù)的返回值是bool類型,因此不管if判斷是否正確都應(yīng)該返回一個(gè)bool類型值,否則就會(huì)出錯(cuò)。
2016-11-26
老師最后一點(diǎn)其實(shí)錯(cuò)了,default 其實(shí)沒有必要寫,只要把pNeedStack->pop(currentNeed)改為
if(!pNeedStack->pop(currentNeed))
{
currentNeed=0;
}便夠了,第一次輸入“【()】】“顯示錯(cuò)誤是因?yàn)?,循環(huán)到倒數(shù)第二個(gè)字符時(shí),pNeedStack棧為空導(dǎo)致pNeedStack->pop(currentNeed)返回了一個(gè)false,currentNeed沒有置于0,仍為”】“,導(dǎo)致循環(huán)到最后一個(gè)字符時(shí)str[4]==currentNeed,str[4]沒有入棧,pStack最后為空才會(huì)出錯(cuò).把crrentNeed置于0便好
if(!pNeedStack->pop(currentNeed))
{
currentNeed=0;
}便夠了,第一次輸入“【()】】“顯示錯(cuò)誤是因?yàn)?,循環(huán)到倒數(shù)第二個(gè)字符時(shí),pNeedStack棧為空導(dǎo)致pNeedStack->pop(currentNeed)返回了一個(gè)false,currentNeed沒有置于0,仍為”】“,導(dǎo)致循環(huán)到最后一個(gè)字符時(shí)str[4]==currentNeed,str[4]沒有入棧,pStack最后為空才會(huì)出錯(cuò).把crrentNeed置于0便好
2016-11-19