- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
C多态编程
Tutorial 6 : C++多态编程
理解多态的概念、实现机制和应用场合;
了解静态束定与动态束定的区别及优缺点;
理解基类对象与派生类对象的关系及赋值兼容规则;
掌握虚函数的概念、定义及使用方法;
掌握抽象基类的概念、定义及使用方法;
体会动态束定机制在简化接口、提高软件可维护性方面的优点,掌握其特性和用法;
在本实验中,通过练习学会编写运算符重载和具有虚函数的C++程序。
Case 1:
实现复数类加减法运算重载为成员函数。
完成这个题目,需要遵循以下步骤。
Step 1: 打开 Visual C++ 6.0
Step 2: 新建工程(Case1)
Step 3: 向工程中新建一个文件(Case1.cpp)
Step 4: 将代码写进文件Case1.cpp
Step 5: 编译
Step 6: 链接
Step 7: 执行
步骤 1: 打开Visual C++ 6.0
从桌面上顺序选择“开始”→“程序” →Microsoft Visual Studio→Visual C++6.0即可进入到VC的集成开发环境中,此时屏幕上在短暂显示Visual C++6.0的版权页后,出现Visual C++6.0的主窗口,如图所示。
图 Visual C++6.0主窗口
在Visual C++6.0主窗口的顶部是主菜单栏。其中包含9个菜单项:File(文件)、Edit(编辑)、View(查看)、Insert(插入)、Project(项目)、Build(构建)、Tools(工具)、Windows(窗口)、Help(帮助)。
主窗口的左侧是项目工作区窗口,右侧是程序编辑窗口。工作区窗口用来显示所设定的工作区的信息,程序编辑窗口用来输入和编辑源程序。
Step 2: 新建工程(Case1)
选择菜单文件File-new-projects-Win32 Console Application
The kind of Case1 project is an empty project:
Step 3:添加(Case1.cpp) to the Case1 project
选择菜单 file-new-file-C/C++ Source File
Step 4: 将代码写进Case1.cpp
在文件工作区选择 Case1.cpp
代码:
/* The program code of Case 1*/
#include iostream
using namespace std;
class Complex { //复数类定义
public: //外部接口
Complex(double r = 0.0, double i = 0.0) : real(r), imag(i) { } //构造函数
Complex operator + (const Complex c2) const; //运算符+重载成员函数
Complex operator - (const Complex c2) const; //运算符-重载成员函数
void display() const; //输出复数
private: //私有数据成员
double real; //复数实部
double imag; //复数虚部
};
Complex Complex::operator + (const Complex c2) const { //重载运算符函数实现
return Complex(real + c2.real, imag + c2.imag); //创建一个临时无名对象作为返回值
}
Complex Complex::operator - (const Complex c2) const { //重载运算符函数实现
return Complex(real - c2.real, imag - c2.imag); //创建一个临时无名对象作为返回值
}
void Complex::display() const {
cout ( real , imag ) endl;
}
int main() { //主函数
Complex c1(5, 4), c2(2, 10), c3; //定义复数类的对象
cout c1 = ; c1.display();
cout c2 = ; c2.display();
c3 = c1 - c2; //使用重载运算符完成复数减法
cout c3 = c1 - c2 = ; c3.display();
c3 = c1 + c2; //使用重载运算符完成复数加法
cout c3 = c1 + c2 = ; c3.display();
return
您可能关注的文档
最近下载
- DM.03 ×× U9 ERP项目-实施备忘-年月日.doc VIP
- DM.16.01 ××U9 ERP项目培训计划书.docx VIP
- DM.01 ×× U9 ERP项目-项目章程.pptx VIP
- 理论力学(第9版)(I)习题答案解析.pdf
- 公司片区经理竞聘演讲与公司物业半年工作总结合集.doc VIP
- DM.18 ×× U9 ERP项目-阶段汇报.pptx VIP
- 建筑结构抗震设计05(PPT81页).pptx VIP
- 【完整版】IATF16949-2016内审检查表(按过程方法编制).docx VIP
- 贸易公司的授信管理.pptx VIP
- 中国建筑第八工程局有限公司安全管理制度汇编 .doc VIP
原创力文档


文档评论(0)