<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                下面的代碼,是一位同學為《[初識對象](http://blog.csdn.net/sxhelijian/article/details/44116231)》中的[項目3時間類](http://blog.csdn.net/sxhelijian/article/details/44116309)寫的。但錯誤有點詭異,他在QQ群中求助。 ~~~ #include <iostream> using namespace std; class Time { public: void set_time(); void show_time(); void add_sec(int); void add_minute(int); void add_hour(int); void add_a_sec() { sec=sec+1; if(sec==60) { sec=0; minute=minute+1; if(minute==60) { minute=0; hour=hour+1; } } void add_a_minute() { minute=minute+1; if(minute==60) { minute=0; hour=hour+1; } } void add_an_hour() { hour=hour+1; } private: bool is_time(int, int, int); //這個成員函數設置為私有的,是合適的,請品味 int hour; int minute; int sec; }; void Time::set_time() { char c1,c2; cout<<"請輸入時間(格式hh:mm:ss)"; while(1) { cin>>hour>>c1>>minute>>c2>>sec; if(c1!=':'||c2!=':') cout<<"格式不正確,請重新輸入"<<endl; else if (!is_time(hour,minute,sec)) cout<<"時間非法,請重新輸入"<<endl; else break; } } void Time::show_time() { cout<<hour<<":"<<minute<<":"<<sec<<endl; } bool Time::is_time(int h,int m, int s) { if (h<0 ||h>24 || m<0 ||m>60 || s<0 ||s>60) return false; return true; } void Time::add_sec(int adds) { sec=sec+adds; while(sec>=60) { sec=sec-60; minute=minute+1; if(minute==60) { minute=0; hour=hour+1; } } } void Time::add_minute(int addm) { minute=minute+addm; while(minute>=60) { minute=minute-60; hour=hour+1; } } void Time::add_hour(int addh) { hour=hour+addh; } int main( ) { Time t1; int adds,addm,addh; cout<<"請輸入要增加的秒,分,小時"<<endl; cin>>adds>>addm>>addh; t1.set_time( ); T1.show_time( ); t1.add_a_sec(); t1.add_a_minute(); t1.add_an_hour(); t1.add_sec(adds); t1.add_minute(adds); t1.add_hour(addh); return 0; } ~~~ 讀者朋友,你編譯一下試試? 我在CodeBlocks中編譯,提示一大堆: ~~~ ||=== Build: Debug in example (compiler: GNU GCC Compiler) ===| D:\CPP\codeBlock\example\main.cpp|43|error: extra qualification 'Time::' on member 'set_time' [-fpermissive]| D:\CPP\codeBlock\example\main.cpp|43|error: 'void Time::set_time()' cannot be overloaded| D:\CPP\codeBlock\example\main.cpp|6|error: with 'void Time::set_time()'| D:\CPP\codeBlock\example\main.cpp|57|error: extra qualification 'Time::' on member 'show_time' [-fpermissive]| D:\CPP\codeBlock\example\main.cpp|57|error: 'void Time::show_time()' cannot be overloaded| D:\CPP\codeBlock\example\main.cpp|7|error: with 'void Time::show_time()'| D:\CPP\codeBlock\example\main.cpp|61|error: extra qualification 'Time::' on member 'is_time' [-fpermissive]| D:\CPP\codeBlock\example\main.cpp|67|error: extra qualification 'Time::' on member 'add_sec' [-fpermissive]| D:\CPP\codeBlock\example\main.cpp|67|error: 'void Time::add_sec(int)' cannot be overloaded| D:\CPP\codeBlock\example\main.cpp|8|error: with 'void Time::add_sec(int)'| D:\CPP\codeBlock\example\main.cpp|81|error: extra qualification 'Time::' on member 'add_minute' [-fpermissive]| D:\CPP\codeBlock\example\main.cpp|81|error: 'void Time::add_minute(int)' cannot be overloaded| D:\CPP\codeBlock\example\main.cpp|9|error: with 'void Time::add_minute(int)'| D:\CPP\codeBlock\example\main.cpp|90|error: extra qualification 'Time::' on member 'add_hour' [-fpermissive]| D:\CPP\codeBlock\example\main.cpp|90|error: 'void Time::add_hour(int)' cannot be overloaded| D:\CPP\codeBlock\example\main.cpp|10|error: with 'void Time::add_hour(int)'| D:\CPP\codeBlock\example\main.cpp|109|error: expected '}' at end of input| D:\CPP\codeBlock\example\main.cpp||In member function 'void Time::add_a_sec()':| D:\CPP\codeBlock\example\main.cpp|13|error: 'sec' was not declared in this scope| D:\CPP\codeBlock\example\main.cpp|17|error: 'minute' was not declared in this scope| D:\CPP\codeBlock\example\main.cpp|21|error: 'hour' was not declared in this scope| D:\CPP\codeBlock\example\main.cpp|25|error: a function-definition is not allowed here before '{' token| D:\CPP\codeBlock\example\main.cpp|42|error: expected '}' at end of input| D:\CPP\codeBlock\example\main.cpp||In member function 'void Time::set_time()':| D:\CPP\codeBlock\example\main.cpp|48|error: 'hour' was not declared in this scope| D:\CPP\codeBlock\example\main.cpp|48|error: 'minute' was not declared in this scope| D:\CPP\codeBlock\example\main.cpp|48|error: 'sec' was not declared in this scope| D:\CPP\codeBlock\example\main.cpp||In member function 'void Time::show_time()':| D:\CPP\codeBlock\example\main.cpp|59|error: 'hour' was not declared in this scope| D:\CPP\codeBlock\example\main.cpp|59|error: 'minute' was not declared in this scope| D:\CPP\codeBlock\example\main.cpp|59|error: 'sec' was not declared in this scope| D:\CPP\codeBlock\example\main.cpp||In member function 'void Time::add_sec(int)':| D:\CPP\codeBlock\example\main.cpp|69|error: 'sec' was not declared in this scope| D:\CPP\codeBlock\example\main.cpp|73|error: 'minute' was not declared in this scope| D:\CPP\codeBlock\example\main.cpp|77|error: 'hour' was not declared in this scope| D:\CPP\codeBlock\example\main.cpp||In member function 'void Time::add_minute(int)':| D:\CPP\codeBlock\example\main.cpp|83|error: 'minute' was not declared in this scope| D:\CPP\codeBlock\example\main.cpp|87|error: 'hour' was not declared in this scope| D:\CPP\codeBlock\example\main.cpp||In member function 'void Time::add_hour(int)':| D:\CPP\codeBlock\example\main.cpp|92|error: 'hour' was not declared in this scope| D:\CPP\codeBlock\example\main.cpp||In member function 'int Time::main()':| D:\CPP\codeBlock\example\main.cpp|101|error: 'T1' was not declared in this scope| D:\CPP\codeBlock\example\main.cpp|103|error: 'class Time' has no member named 'add_a_minute'| D:\CPP\codeBlock\example\main.cpp|104|error: 'class Time' has no member named 'add_an_hour'| D:\CPP\codeBlock\example\main.cpp|109|error: expected unqualified-id at end of input| ||=== Build failed: 38 error(s), 0 warning(s) (0 minute(s), 1 second(s)) ===| ~~~ 第一個提示“extra qualification 'Time::' on member 'set_time'”,說Time::多余,類外定義成員函數,不多余啊! 第二個提示“ 'void Time::set_time()' cannot be overloaded”,Time::set_time()不能被重載。 我大概知道怎么回事了。 用resource code formatter整理程序的格式,縮進發生變化,妖孽立刻現身。 下面是我和學生在QQ群中的對話,讀者如果沒有找出錯誤,不妨邊看邊試,按我的提示,自己找出問題來。 賀老師 2015-3-21 18:54:18 在Code::Blocks中,你整理一下格式,你會知道這個錯有多么低級。然后回頭再看這些錯誤提示,可以引出不少有價值的東西來。 賀老師 2015-3-21 18:55:28 其他同學,也可以從XX的低級錯誤中學到不少,試試吧。 學生 2015-3-21 18:57:37 糗大了 賀老師 2015-3-21 18:59:26 這樣的錯誤,在學習過程中,價值連城!你經過了這樣的錯誤,你就擁有了特別的財富。 學生 2015-3-21 19:00:37 還是有一點不大明白 賀老師 2015-3-21 19:01:13 重排版了嗎? 學生 2015-3-21 19:01:25 排了 賀老師 2015-3-21 19:01:34 你能確認void Time::set_time()是在類外了嗎? 學生 2015-3-21 19:02:37 嗯 ?類內定義 ?類外寫函數 賀老師 2015-3-21 19:03:06 如果類外定義,這個函數該頂頭才是, 賀老師 2015-3-21 19:03:19 類內定義,才會縮進去。 賀老師 2015-3-21 19:03:46 你類內聲明,類內定義。 賀老師 2015-3-21 19:04:22 這就重復了。 賀老師 2015-3-21 19:07:50 發現了嗎?要不要再給點線索? 學生 2015-3-21 19:08:34 在給點吧? 賀老師 2015-3-21 19:09:07 你看類內定義的void add_a_sec(),在哪兒結束的? 學生 2015-3-21 19:10:09 落了一個括號 賀老師 2015-3-21 19:10:26 手邊有磚嗎? 學生 2015-3-21 19:10:54 不是 是括號括錯了 ? 我去買塊豆腐磚 學生 2015-3-21 19:11:45 謝謝賀老 ? ? 賀老師 2015-3-21 19:11:48 沒磚為師就放心了。不必拍,我怕豆腐疼。學習過程中,很正常。 賀老師 2015-3-21 19:12:40 以后錯誤莫名其妙時,可以排版一下。若縮進不正常,問題一下就出來了。這也是講究規范的價值。 學生 2015-3-21 19:13:00 恩恩 學到了
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看