C++大学基础教程 第10章运算符重载 北京邮电大学电信工程学院 计算机技术中心
C++大学基础教程 第10章 运算符重载 北京邮电大学电信工程学院 计算机技术中心
◆重载运算符可以把C艹的远算 符扩展到自定义类型和类类 型的领域中,使代码更直 观、易懂,方便、简洁
重载运算符可以把C++的运算 符扩展到自定义类型和类类 型的领域中,使代码更直 观、易懂,方便、简洁
第十八章运算符重载 10.1运算符重载的需要 10.2运算符重载的限制 10.3重载运算符的语法 10.4重载++和一运算符 10.5重载赋值运算符 10.6重载转换运算符
第十八章 运算符重载 10.1 运算符重载的需要 10.2 运算符重载的限制 10.3 重载运算符的语法 10.4 重载++和--运算符 10.5 重载赋值运算符 10.6 重载转换运算符
10.1远算符重载的需要
10.1 运算符重载的需要
10.1运算符重载的需要 ◆目的 C+代码更直观,易读,使用更方便 ◆运算符重载的实质 运算符重载的实质是函数重载。只不过 它重载的是类似“+-*/=这样的操作符 2005-4-28 北京邮电大学电信工程学院计算机技术中心
2005-4-28 北京邮电大学电信工程学院计算机技术中心 -5- 10.1 运算符重载的需要 目的 C++代码更直观,易读,使用更方便。 运算符重载的实质 运算符重载的实质是函数重载。 只不过 它重载的是类似“+ - * / =“这样的操作符
子 #include using namespace std void maino char s1[20J= Hello”; char s2 20=world char s3 20 strcpy(s3, Ssl) ∥字符串拷贝 cout<<s3<<endl strcat(s3, s2 ∥字符串连接 cout<<s3<<endl
例子: #include using namespace std; void main() { char s1[20]=”Hello”; char s2[20]=”world”; char s3[20]; strcpy(s3,s1); //字符串拷贝 cout<<s3<<endl; strcat(s3,s2); //字符串连接 cout<<s3<<endl; }
例子:添加运算符重载 #include #include using namespace std void maino string sI=Hello string s2=world string s3 S3=SI ∥字符串拷贝 cout<<s3<<endl S3=SI+S2 ∥字符串连接 cout<<s3<<endl
例子:添加运算符重载 #include #include using namespace std; void main() { string s1="Hello"; string s2="world"; string s3; s3=s1; //字符串拷贝 cout<<s3<<endl; s3=s1+s2; //字符串连接 cout<<s3<<endl; }
10.2运算符重载的限制
10.2 运算符重载的限制
10.2运算符重载的限制 ◆1、重载运算符时,重载运算符的运算顺序和优先级不 变 ◆2、不能创造新运算符 ◆3、规定不能重载的运算符: Operator Name 类属关系运算符 成员指针运算符 #儿:* 作用域运算符 条件运算符 编译预处理符号 szeo0取数据类型的长度
10.2 运算符重载的限制 1、重载运算符时,重载运算符的运算顺序和优先级不 变。 2、不能创造新运算符 3、规定不能重载的运算符: Operator Name . 类属关系运算符 # 编译预处理符号 .* 成员指针运算符 :: 作用域运算符 ? : 条件运算符 sizeof() 取数据类型的长度
10.3运算符重载的语法
10.3 运算符重载的语法