- 11
- 0
- 约1.44万字
- 约 67页
- 2018-05-18 发布于河南
- 举报
Visual_C面向对象编程教程第2章_C语言基础_第三次课
2.4 C++中的类与对象 什么是类: 2.4.3 内联函数 2.6 重载 2.6.1 函数重载 函数重载:指一组功能类似但函数参数类型(个数)不同的函数可以共用一个函数名。 当C++编译器遇到重载函数的调用语句时,它能够根据不同的参数类型或不同的参数个数选择一个合适的函数。 main() { int i=100; coutabs(i)endl; // int型 float f=-125.78F; coutabs(f)endl; // float型 } 例 构造函数的重载。 void main() { Time time1; Time time2(10, 15, 20); time1.showTime(); time2.showTime(); } 2.6.2 运算符重载 运算符重载:指对于不同数据类型的操作数,同一个运算符所代表的运算功能可以不同。 一个运算符定义了一种操作,一个函数也定义了一种操作,其本质是相同的,当程序遇到运算符时会自动调用相应的运算符函数。 虽然重载运算符完成的功能都能够用一个真正的成员函数来实现,但使用运算符重载使程序更易于理解。 与函数重载类似,编译器是根据参加运算的操作数的类型来识别不同的运算。 例: 对于表达式:10+20 编译器把它看成如下函数调用: int operator+(10, 20); 对于表达式:10.0+20.0 编译器把它看成如下函数调用: float operator+(10.0, 20.0); 重载运算符的形式: 重载一个运算符,就是编写一个运算符函数,重载运算符(函数)的原型为: 数据类型 operator运算符(形参表); 2.9 类的继承 继承是面向对象程序设计方法的四个基本特征之一,是程序代码可重用性的具体体现。 在C++面向对象程序设计中,所谓类的继承就是利用现有的类创建一个新的类。新类继承了现有类的属性和行为。 为了使新类具有自己所需的功能,它可以扩充和完善现有类的属性和行为,使之更具体。 微软基础类MFC就是通过类的继承来体现类的可重用性和可扩充性。 在继承关系中,新定义的类称为被继承类的派生类或子类,而被继承的类称为新定义类的基类或父类。派生类继承了基类的所有成员。 一个派生类也可以作为另一个派生类的基类。 派生方式决定了基类的成员在派生类中的访问权限。派生方式共有三种:public、private和protected(缺省值为private)。 虽然派生类继承了基类的所有成员,但为了不破坏基类的封装性,无论采用哪种派生方式,基类的私有成员在派生类中都是不可见的,即不允许在派生类的成员函数中访问基类的私有成员。 采用public派生,基类成员的访问权限在派生类中保持不变,即基类所有的公有或保护成员在派生类中仍为公有或保护成员。public派生最常用。 (1) 可以在派生类的成员函数中访问基类的非私有成员; (2) 可通过派生类的对象直接访问基类的公有成员。 采用private私有派生,基类所有的公有和保护成员在派生类中都成为私有成员,只允许在派生类的成员函数中访问基类的非私有成员。private派生很少使用。 采用protected保护派生,基类所有的公有和保护成员在派生类中都成为保护成员,只允许在派生类的成员函数和该派生类的派生类的成员函数中访问基类的非私有成员。 例 定义类Point,然后定义类Point的派生类Circle。 #include iostream.h class Point // 定义基类,表示点 { private: int x; int y; public: void setPoint(int a, int b) { x=a; y=b; }; // 设置坐标 int getX() { return x; }; // 取得X坐标 int getY() { return y; }; // 取得Y坐标 }; class Circle : public Point // 定义派生类,表示圆 { private: int radius; public: void setRadius(int r) { radius=r; }; // 设置半径 int getRadius() { return ra
您可能关注的文档
- 2013年项目申报时间表.docx
- 2013年黑龙江国培研修总结-ZLY.doc
- 2013年计划 Microsoft Word 文档.doc
- 2013年度工作总结21107136.doc
- 2013期中考试考情分析.doc
- 2013年秋学期大乐中心校少年宫活动.doc
- 2013毕业晚会暨心晴文艺社启动策划.doc
- 2013江苏上海学习体会--武都初中 杨利华.doc
- 2013年黄骅报社公开招聘采编人员(编辑)成绩表.doc
- 2013标本溶血统计分析.doc
- 山西天一大联考2025-2026学年高二上学期期末学情监测语文试题(试卷+解析).docx
- 山西忻州部分学校2025-2026学年高一上学期2月质量检测数学试题(人教B版)(试卷+解析).docx
- 山西运城市2025-2026学年高二第一学期期末调研测试数学试题(试卷+解析).docx
- 陕西省榆林市榆阳区2025-2026学年八年级上学期期末地理试题(试卷+解析).docx
- 陕西西安市碑林区2025-2026学年度第一学期期末八年级生物试题(试卷+解析).docx
- 四川省广元市苍溪县2025-2026年八年级上学期期末道德与法治试题(试卷+解析).docx
- 江苏泰州市姜堰区2025-2026学年七年级上学期1月期末数学试题(试卷+解析).docx
- 江苏省扬州市邗江区2025-2026学年九年级上学期期末考试化学试题(试卷+解析).docx
- 江西上饶市铅山县2025-2026学年第一学期期末考试八年级数学试题(试卷+解析).docx
- 江苏扬州市高邮市2025-2026学年度第一学期期末学业质量监测试题九年级英语(试卷+解析).docx
最近下载
- 北师大版四年级数学下册全册课时练习.pdf VIP
- 南京邮电大学C语言期末试卷及答案.pdf VIP
- 康复治疗技术操作规范.docx VIP
- 2025年急危重症患者CT检查护理管理专家共识解读PPT课件.pptx VIP
- 南京邮电大学《C语言程序设计》2024-2025学年第一学期期末试卷及答案.docx VIP
- 施耐德ATV御程系列ATV630 ATV650编程手册中文.pdf
- 新译林版高中英语选择性必修二 unit 4词汇默写本.docx VIP
- 新译林版高中英语选择性必修二 unit 3词汇默写本.docx VIP
- 新译林版高中英语选择性必修二 unit 2词汇默写本.docx VIP
- 2026年太原城市职业技术学院单招职业适应性测试题库附答案.docx VIP
原创力文档

文档评论(0)