下载此文档

运算符重载.pptx


文档分类:IT计算机 | 页数:约52页 举报非法文档有奖
1/52
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/52 下载此文档
文档列表 文档介绍
1 C++ 程序设计基础二、运算符重载 2 2本章内容?函数重载?普通函数重载?类成员函数重载?函数重载的二义性问题?运算符重载?赋值运算和拷贝策略?特殊运算符重载 32 .1 函数重载? C++ 允许功能相近的函数在相同的作用域内以相同函数名声明,从而形成重载。方便使用,便于记忆。?参数的个数不同或类型不同形参类型不同 int add(int x, int y); float add(float x, float y); 形参个数不同 int add(int x, int y); int add(int x, int y, int z); 4 42 .1 函数重载?普通函数(1) int max(int a, int b); // int max(int,int); int max(int a, int b, int c); (2) int add(int x, int y, int z); float add(float, float, float); (3) int abs(int i); double abs(double d); 5 52 .1 函数重载?类中成员函数// 例类中成员函数重载#include < > class A{ public: void print( int i ) { cout << i << endl ;} void print(double f) { cout <<f<< endl ;} void print(const char * s) { cout <<s<< endl ;} void print(const char * s, int n) { cout <<&s[n]<< endl ;} }; void main(void) { A a; (5); (); ("program"); ("program", 3); } 结果: 5 Program gram 62 .1 函数重载?编译程序将根据实参和形参的类型及个数的最佳匹配来选择调用哪一个函数。?不要将不同功能的函数声明为重载函数,以免出现调用结果的误解、混淆。 int add(int x ,int y ); int add(int a ,int b ); 编译器不以形参名来区分 int add(int x,int y); void add(int x,int y); 编译器不以返回值来区分 int add(int x,int y) { return x+ y ; } float add(float x,float y) { return x- y ; } 7 7 2 .1 函数重载?不要将不同功能的函数定义为重载函数,以免出现对调用结果的误解; ?重载函数的形参必须不同:参数个数不同或者类型不同。否则会在编译时会出现调用模糊的现象,也就是二义性错误。?在对重载函数设置缺省参数值时,要避免产生二义性。 82 .1 函数重载 class print{ public: void print(const char ? s); void print(const char ? s, int i=0);}; print a; ( ? number ?); int print(int); float print(int); int pri(const int&); int pri(int); void pri(unsigned int); void pri(int); 重载函数的形参不同: 参数个数不同或类型不同// 产生二义性// 产生二义性// 产生二义性// 产生二义性 9 9本章内容?函数重载?运算符重载?赋值运算和拷贝策略?特殊运算符重载 10 运算符重载?问题——复数运算 plex //复数类声明{ public: complex(double r=,double i=) // 构造函数{ real=r; imag=i; } void display(); //显示复数的值 private: double real; double imag; }; 如何加减运算?

运算符重载 来自淘豆网www.taodocs.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数52
  • 收藏数0 收藏
  • 顶次数0
  • 上传人xxj16588
  • 文件大小278 KB
  • 时间2016-08-28