标签:int 实现 逗号操作符 get 计算表达 语义 表达 功能 引用
//重载逗号表达式 Test& operator , (const Test& a,const Test&b) { return const_cast<Test&>(b); }
1 // 重载逗号表达式.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。 2 // 3 #include <iostream> 4 #include <string> 5 using namespace std; 6 class Test 7 { 8 int mvalue; 9 public: 10 Test(int _val) 11 { 12 mvalue = _val; 13 } 14 int get_value() 15 { 16 return mvalue; 17 } 18 }; 19 //重载逗号表达式 20 Test& operator , (const Test& a,const Test&b) 21 { 22 return const_cast<Test&>(b); 23 } 24 Test func(Test&i) 25 { 26 cout << "Test.mvalue = " << i.get_value() << endl; 27 return i; 28 } 29 int main() 30 { 31 Test t0(0); 32 Test t1(1); 33 Test t2 = (t0,t1); //逗号表达式 34 Test t3 = (func(t0), func(t1));//通常来说,应该是先执行func(t0),在执行func(t1),但是在这儿却相反 35 cout << "t2.mvalue = " << t2.get_value() << endl; 36 cout << "t3.mvalue = " << t3.get_value() << endl; 37 }
标签:int 实现 逗号操作符 get 计算表达 语义 表达 功能 引用
原文地址:https://www.cnblogs.com/chengeputongren/p/12236323.html