重载 && 重载递增递和减运算符
2018-06-17 23:40:53来源:未知 阅读 ()
class Rule { private: double m_Length; public: explicit Rule(double lg = 1.0) :m_Length{ lg }{} Rule &operator++(); const Rule operator++(int); Rule &operator--(); const Rule& operator--(int); void showRuleLength() { cout <<"长度:"<< this->m_Length << endl; } }; inline Rule& Rule::operator++() { ++(this->m_Length); return *this; } inline const Rule Rule::operator++(int) //返回常量对象,不允许改变 { Rule rule{*this}; //利用复制构造函数建立对象 ++*this; //因为前缀++已经重载了 return rule; //返回对象的副本 } inline Rule& Rule::operator--() { --(this->m_Length); return (*this); } inline const Rule& Rule::operator--(int) { Rule rule(*this); --*this; return rule; } int main() { Rule a{ 4.0 }; Rule b; b = a++; b.showRuleLength(); }
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- C++ 运算符重载 2020-06-10
- Unsolved --> Solved OJ思路题解 2020-05-30
- Building & Debugging chromium on CLion for Linu 2020-05-19
- 洛谷P1164->小A点菜 2020-05-18
- 表达式·表达式树·表达式求值 2020-04-29
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash