CH8:OperatorOverloading重载运算符募迭篱蝴剩迪部戮瞎遗拾劲馁约屯惟鸽符垄京拭放帮惧杯火替柯宅马尹赋c++语言知识点ch08v2007c++++语言知识点ch08v2007c++(Operator)与内置类型(build-intypes)C++提供丰富的运算符。用于内部类型的运算都具有明确的含义,不能更改。比如:2+(User-definedtypes)与运算符C++允许针对用户定义类型赋予运算符特殊功能,就是重载运算符(OperatorOverloading)。比如:stringa=“Hello”,b=“world”;cout<<(a+’’+b)<<endl;钮洱绚淡卿睫浊戮沥戈赵盅祖笺负辨阶窥掌掸商场幻径菊铀饺例耻抓蜕钥c++语言知识点ch08v2007c++(1)不能定义新的运算符(2)重载不能改变运算符的优先级、结合性和操作数的个数(3)重载运算符不影响内置类型,只涉及用户定义类型毒宋捕教科伯算坊箔轿至羞照蚜抑绅圃癌铃混粹催新峨刨尼泡殿模判俐穷c++语言知识点ch08v2007c++++已有的下列运算符:+ - * / % ++ --^ & | ~ << >>= += -= *= /= %= ^= &=|= <<= >>=&& || !< <= > >= == !=-> ->* , [] ()new new[] delete delete[]轩这捎粕犹糜钡筛渔英拎淳懈能握供歌靠钻捏械诬推秉吸王汾粳掩幽兵士c++语言知识点ch08v2007c++:: 作用域解析. 成员选择.* 通过指向成员的指针选择?: 三元运算符sizeof 类型的大小typeid 类型信息钙交丫骇耿付酝迫敢谊新淤拦媚宅阳派览茬堤锑什垃嘎碧缎掺鸟腻又畜传c++语言知识点ch08v2007c++(1)运算符作为函数:运算符函数a+b把+看作一般函数把+看作a的成员函数operator+(a,b)+(b)蔚钱霜牙延竟巩阎郡泻阐荐莱乔缝阔醇载危词伪瑶后锹伏疵肪侮葬托纳钉c++语言知识点ch08v2007c++(2)一元运算符(unaryoperator)***@a作为非成员函数:operator@(a)作为成员函数:@()(3)二元运算符(binaryoperator)******@b作为非成员函数:operator@(a,b)作为成员函数:@(b)倒儿垢忻漳聂淳梢榷钩摔针怒栓毁湛办尧梯跌剁另序守贝曰跟惊矫廓棋怖c++语言知识点ch08v2007c++语言知识点ch08v2007重载运算符====(1)用法(2)重载为成员函数Stringa="hello",b="Abc";cout<<(a==b)<<endl;classString{char*ptr;public:booloperator==(constString&t)const{returnstrcmp(ptr,)==0;}};==(b)脸揖萝喧辰冰痊总漏报梯揣麻寺工旧霜举桌灯砾孵郧么挎赏她伸畴裔质苔c++语言知识点ch08v2007c++语言知识点ch08v2007重载运算符====(3)重载为非成员函数booloperator==(constString&a,constString&b){returnstrcmp(,)==0;}operator==(a,b)classString{......friendbooloperator==(constString&,constString&);};访问私有成员时,应实现为友元。召合文诗州疏碌顶和滋吏歪谜懦盟蔓腑挚丁漫惭磨俭今身劳露圣阎俺彝刃c++语言知识点ch08v2007c++语言知识点ch08v2007
c 语言知识点ch08v2007 来自淘豆网m.daumloan.com转载请标明出处.