C++ primer 习题练习:12.13

#include <iostream> #include <string> using namespace std; class Screen { public: typedef string::size_type index; char get() const{return contents[cursor];} inline char get(index ht,index wd) const; index get_cursor() const; Screen (index hght,index wdth,const string &cntnts); // Screen& display(std::ostream &os){do_display(os);return *this; } const Screen& display(std::ostream &os) const{ do_display(os); return *this;} //三个成员函数 Screen& move(index r,index c); Screen& set(char); Screen& display(ostream &os); private: std::string contents; index cursor; index height,width; void do_display(std::ostream &os) const {os<<contents;} }; /// int main(){ Screen myScreen(5,5,"aaaaaaaaaaaaaaaa/naaaaaaaaaaaaaa/naaaaaaaaaaaaaaa/naaaaaaaaaa/n"); myScreen.move(4,0).set('#').display(cout); return 0; } // //下面是类的实现部分 // char Screen::get( index r,index c ) const { index row=r*width; return contents[row+c]; } inline Screen::index Screen::get_cursor() const { return cursor; } Screen& Screen::set( char c ) { contents[cursor]=c; return *this; } Screen& Screen::display( ostream &os ) { os<<contents; return *this; } Screen& Screen::move( index r,index c ) { index row=r*width; cursor=row+c; return *this; } Screen::Screen( index hght,index wdth,const string &cntnts ): contents(cntnts),cursor(0),height(hght),width(wdth) {}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值