C++编程语言可以被看做是C语言的升级版本,它能够支持C语言中的所有功能,而且在其他方面也有很大的提升。其中,在C++操作符重载中++,--需要说明是++(--)在操作数前面,还是在操作数后面,区别如下:
创新互联公司是一家集网站建设,四平企业网站建设,四平品牌网站建设,网站定制,四平网站建设报价,网络营销,网络优化,四平网站推广为一体的创新建站企业,帮助传统企业提升企业形象加强企业竞争力。可充分满足这一群体相比中小企业更为丰富、高端、多元的互联网需求。同时我们时刻保持专业、时尚、前沿,时刻以成就客户成长自我,坚持不断学习、思考、沉淀、净化自己,让我们为更多的企业打造出实用型网站。
C++操作符重载代码经过测试无误(起码我这里没问题^_^)
- #include < iostream>
- #include < cstdlib>
- using namespace std;
- template< typename T> class A
- {
- public:
- A(): m_(0){
- }
- // +
- const T operator + (const T& rhs)
- {
- // need to be repaired , but see it is only a demo
- return (this->m_ + rhs);
- }
- // -
- const T operator - (const T& rhs){
- // need to be repaired , but see it is only a demo
- return (this->m_ - rhs);
- }
- T getM(){
- return m_;
- }
- // ++在前的模式,这里返回的是引用 ,准许++++A
- A& operator ++ (){
- (this->m_)++;
- return *this;
- }
- // ++ 在后,这里返回的是一个新的A类型变量,且不可改变
- // 目的是防止出现 A++++情况
- const A operator ++(int a){
- A< T> b = *this;
- (this->m_)++;
- return b;
- }
- private:
- T m_;
- };
- int main(void){
- int i = 0;
- cout< < ++++i< < endl;
- // i++++ is not allowed
- A< int> a;
- A< int> b = ++a;
- cout< < b.getM()< < endl;
- A< int> c = a++;
- cout< < c.getM()< < endl;
- cout< < a.getM()< < endl;
- int t = a+2;
- cout< < t< < endl;
- system("pause");
- return 0;
- }
以上就是对C++操作符重载的相关介绍。
名称栏目:C++操作符重载不同方式区别
链接分享:http://www.shufengxianlan.com/qtweb/news46/27046.html
网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联