C++Primer第五版 7.4节练习
来源:互联网 发布:win7日程安排软件 编辑:程序博客网 时间:2024/06/07 10:36
练习7.33:如果我们给Screen添加一个如下所示的size成员将发生什么情况?如果出现了问题,请尝试修改它。
pos Screen::size() const
{
return height * width;
}
在类里:
Public:
pos size() const;
类体外:
Screen::pos Screen::size() const
{
return height * width;
}
见云盘程序:练习7.33.cpp
练习7.33
/**练习7.33*2015/7/14*问题描述:练习7.33:如果我们给Screen添加一个如下所示的size成员将发生什么情况?如果出现了问题,请尝试修改它。 pos Screen::size() const{ return height * width;}*功能:修改 *作者:Nick Feng *邮箱:nickgreen23@163.com * */#include <iostream> #include <string>#include <vector> using namespace std;class Screen{public: typedef std::string::size_type pos; Screen() = default; Screen(pos ht, pos wd, char c) : height(ht), width(wd), contents(ht * wd, c){} char get() const { return contents[cursor]; } inline char get(pos ht, pos wd) const; Screen &move(pos r, pos c); Screen &set(char); Screen &set(pos, pos, char); Screen &display(std::ostream &os) { do_display(os); return *this; } const Screen &display(std::ostream &os) const { do_display(os); return *this; } //extern void Window_mgr::clear(ScreenIndex); //friend void Window_mgr::clear(ScreenIndex); //friend void Window_mgr::clear(ScreenIndex); //extern class Window_mgr; //friend class Window_mgr; //extern void Window_mgr::clear(ScreenIndex); pos size() const;private: pos cursor = 0; pos height = 0, width = 0; std::string contents; void do_display(std::ostream &os) const { os << contents;}};inline Screen &Screen::move(pos r, pos c){ pos row = r * width; cursor = row + c; return *this;}char Screen::get(pos r, pos c) const{ pos row = r * width; return contents[row + c];}inline Screen &Screen::set(char c){ contents[cursor] = c; return *this;}inline Screen &Screen::set(pos r, pos col, char ch){ contents[r * width + col] = ch; return *this;}Screen::pos Screen::size() const{ return height * width;}int main(){ Screen test(5,5,'x'); test.display(cout) ; cout << endl; cout << test.size() << endl; return 0;}
0 0
- C++Primer第五版 7.4节练习
- C++Primer 第五版 1.1节练习
- C++Primer第五版 1.3节练习
- C++Primer第五版 1.6节练习
- C++Primer第五版 2.4节练习
- C++Primer第五版 3.1节练习
- C++Primer第五版 4.2节练习
- C++Primer第五版 4.3节练习
- C++Primer第五版 4.4节练习
- C++Primer第五版 4.6节练习
- C++Primer第五版 4.7节练习
- C++Primer第五版 4.8节练习
- C++Primer第五版 4.9节练习
- C++Primer第五版 4.5节练习
- C++Primer第五版 5.1节练习
- C++Primer第五版 5.2节练习
- C++Primer第五版 6.1节练习
- C++Primer第五版 6.4节练习
- android之视频的播放(VedioView,SuefaceView)和图片的获得
- 不结束进程卸载关键进程中DLL文件的方法
- html初学-简介
- php环境配置
- 程序编译过程
- C++Primer第五版 7.4节练习
- java 中的 final 变量
- Ubuntu 14.04出现“device not managed”错误及ubuntu可以ping通外网浏览器上不了网。
- Jquery 写的注册判断
- GIT学习
- jsp中session的生命周期
- 周志华点评机器学习会议
- HTML5的标签和CSS层叠样式
- 关于Handler定义问题,未解决!