C09《类模板和运算符重载》.doc

C09《类模板和运算符重载》.doc

ID:62033019

大小:17.00 KB

页数:4页

时间:2021-04-15

C09《类模板和运算符重载》.doc_第1页
C09《类模板和运算符重载》.doc_第2页
C09《类模板和运算符重载》.doc_第3页
C09《类模板和运算符重载》.doc_第4页
资源描述:

《C09《类模板和运算符重载》.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、C++09《类模板和运算符重载》.txt熬夜,是因为没有勇气结束这一天;赖床,是因为没有勇气开始这一天。朋友,就是将你看透了还能喜欢你的人。VC++第九次课2004。4.7《类模板和运算符重载》○、多态应用举例 教材上的一、类模板(p114) 1.类模板的声明:template 〈class模板参数>class 类名{//类声明} 比如:template

2、op;};  模板参数可以不止一个,用逗号隔开。还可包含常量参数(如上例的栈规模100变成参数)。2。类模板的实现 成员函数必须是函数模板template 对象1,对象2,……;如:stack<int〉S;【举例】P115例4—5【举例】难一点的结点类模板P275二、

3、编译预处理命令 1、#include, #define,#ifdef,#ifndef,#undef,#endif,#else, #elif 2、防止重复包含的写法#ifndef…… #define……  .。 .#endif三、运算符重载(p236)运算符重载的本质是函数重载1、运算符重载的规则ﻩ(P237)三条“.”、“*”(取内容)、“::”、“?: ”不能重载两种重载方法,形参个数不一样2、运算符重载为成员函数ﻩ定义一个类的成员函数。a=b+c 解释成a=b。operator+ (c)参数个数比原来的操作数个数要少一个(有两个

4、除外)双目运算符、单目前置运算符(“-”、“++”)、单目后置运算符的不同写法(“++”)【举例】P238例8-1 3、运算符重载为友元函数ﻩ定义一个外部函数,加friend。a =b+c解释成a =operator+(b,c)ﻩ双目运算符、单目前置运算符(“-”、“++")、单目后置运算符的不同写法(“++”)  两种重载的比较:以complex x=7+y;为例。若存在构造函数使整数变为复数,operator +只能用友元重载。  C++语法规定:“[]”、“()”、“="、“->”只能重载为成员函数。  矩形的平移、数乘可以用

5、加法、乘法的运算符重载。【举例】第4次课的string类=========================================================================================================作业8: 一、选择题:1、运算符重载的关键字是____D____。A.operand B。operateC.operation D.operator  2、有关运算符重载的正确说法有_____CDF______(多选题)A.重载能改变运算符的优先级 ﻩB.运算符“->”不

6、可以重载C。只能重载C++原有的运算符D。运算符重载也是一种函数重载E。运算符重载为类的成员函数时,其参数个数比原来的操作数个数要少一个F.有些运算符只能重载为类的成员函数  二、有如下关于数组的类模板templateTArray〈T>::Get

7、MaxValue() const{ﻩinti=nCount;ﻩT*p=*pList;ﻩTmax=*p;for(i=1;i<nCount;i++)ﻩif(max〈*(p+i))ﻩﻩﻩmax=*(p+i);ﻩreturn max;}三、分别用成员函数和友元的办法重载矩形r与非负实数k的“乘法"运算,其意义是将矩形r按中心点放大k倍。 假设矩形类是:class Rectangle {public:ﻩRectangle(doublex0,double y0, doublew0,doubleh0)ﻩﻩ{x=x0;y =y0;w=w0;h=h0

8、;}……ﻩRectangleoperator*(doublek);ﻩprivate:ﻩdoublex,y,w,h;ﻩ//左上点坐标和宽、高};ﻩRectangle Rectangle::operator*(doublek){ﻩretu

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。