天天看點

C++primer p248的運作實踐

C++primer 第六版 p248的代碼經過實際運作,有一些書上未提到的報錯。

Screen& display(ostream& os) {
  do_display(os);
  return *this;
 }
 const Screen& display(ostream& os) const {
  do_display(os);
  return *this;
 }
 
 Screen& do_display(ostream& os) {
  os << contents;
  return *this;
 }
           

但現實報錯,

C++primer p248的運作實踐

提示顯示do_display不相容的對象 const Screen,那麼說明do_display不能被常量對象所調用,那麼考慮加上一個const先點個的do_display.

加上去之後:

const Screen& do_display(ostream& os)const {
  os << contents;
  return *this;
 }
           

結果顯示并不報錯了,問題解決。

繼續閱讀