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