0
点赞
收藏
分享

微信扫一扫

C++ 隐含的this 指针

witmy 2022-08-20 阅读 49

c++primer   页数:376-379 备份, 很有嚼头

#include <iostream>
#include <string>
#include <fstream>
using namespace std;

class Screen
{
public:
typedef string::size_type index;
Screen(index r, index c) : row(r), col(c), contents(r * c, 0) {};
Screen& set(index r, index c, char val);
Screen& set(char val);
Screen& move(index r, index c);
Screen& display();
const Screen& display() const;
private:
string contents;
index cursor;
index row, col;
void do_display() const
{ cout << contents << endl;}

};

Screen& Screen::set(index r, index c, char val)
{
contents[r * col + c] = val;
return *this;
}

Screen& Screen::set(char val)
{
contents[cursor] = val;
return *this;
}

Screen& Screen::move(index r, index c)
{
cursor = r * col + c;
return *this;
}

Screen& Screen::display()
{
do_display();
cout << "not const" << endl;
return *this;
}

const Screen& Screen::display() const
{
do_display();
cout << "const" << endl;
return *this;
}

int main()
{
Screen s(3, 4);
s.set(0, 0, 'a');
s.set(0, 1, 'b').set(0, 2, 'c').display();
const Screen mys(4, 5);
mys.display();

return 0;
}

 



举报

相关推荐

C++的this指针

C++:this指针

C++——指针

this指针 c++

c++ 指针

c++指针

C++指针

0 条评论