第6章运算符重载
- 格式:ppt
- 大小:704.51 KB
- 文档页数:80


Visual C++程序设计实验指导书
实验1 认识Visual C++6.05中文版开发环境
实验内容
(1)熟悉VisualC++6。05的开发环境。
(2)操作工具栏和项目工作区窗口。
(3)用应用程序向导创建一个控制台应用项目Ex_Hello。
(4)输入并执行一个新的C++程序Ex_Simple.
实验准备和说明
(1)建议在本教材第一次上课时进行本次实验。
(2)熟悉Windows 2000或XP操作系统的环境和基本操作。
(3)熟悉实验报告的书写格式,这里给出一下建议:
实验报告采用A4纸,封面一般包括实验目次.实验题目,班级,姓名,日前和机构名称.报告内容一般包括实验目的和要求。实验步骤,实验思考和总结。需要指出的是,实验步骤不是书本内容的重复,而是自己结合实验内容进行探索的过程,教师也可根据具体情况提出新的实验报告格式和新的要求.
(4)阅读以下关于VisualC++的说明:
Visual C++是Microsoft公司推出的目前使用极为广泛的基于WINDOUWS平台的可视化编程环境。是在以往的版本不断更新的基础上形成的,其功能强大,灵活性好,完全可以扩展以及具有强有力的Internet支持,在各种c++语言开发工具中脱颖而出,成为目前最为流行的C++语言集成开发环境。
Visual C++6。0分为标准版,企业版和专业版3种,但其基本功能是相同。Visual C++6。5中文版是在Visual C++6。0基础上进行汉化的以一个版本,本书以此版本作为编程环境。为统一起见,我们仍称之为Visual C++6.0。
实验步骤
1。打开计算机,启动windouws2000操作系统
2。建工作文件夹
3。启动Visual C++6.0
4。创建一个控制台应用项目
5。认识开发环境界面 6。认识工具栏
7。工具栏的显示和隐藏
8.工具栏的浮动与停泊
9。项目工作区窗口
10。修改代码,编译运行
第一章C++语言编程入门
★ 课程概述 第1章 C++语言编程入门 第2章 函数 第3章
类与对象 第4章 指针与引用 第5章 继承 第6章 运算符重载 第7章 多态与虚函数 第8章 群体类 第9章 模板 第10章 I/O流 第11章 标准模板类库STL 第12章 异常处理 总复习3.1 类与对象概念的引入 2.1 函数的定义及调用 1.1 C++语言的产生 4.1 指针 5.1
继承与派生 7.1 运算符重载的语法 6.1 C++语言是一种面向对象的程序 11.1 多态性概述 3.2 基本数据结构知识 2.1.1 函数的定义
1.2 类的声明 4.1.1 数据存储 3.3 对象的声明 2.1.2 指针的声明及使用 5.2 单继承 10.1 I/O流概述 设计语言 函数的声明 各章节总结 12.1一元运算符 异常处理的基本语法 4.1.2 6.2 线性群体 9.1
构造函数与析构函数 8.1 函数模板 11.2 C++程序的开发步骤 标准模板类库STL简介 3.4 2.1.3 函数的调用 1.3 4.1.3 指针运算 5.2.1
公有派生 3.5 类的组合 2.1.4 函数调用的执行过程 1.4 一个简单C++程序的组成 7.2 虚函数 6.3 二元运算符的重载 4.1.4 与对象有关的指针 8.1.1 可直接访问的线性群体―― 11.3 C++语言的词法记号 5.2.2 私有派生 3.6 向量 2.2 静态成员 10.2 输入输出格式控制
1.5 函数调用时参数的传递 4.1.5 void和const指针 2.3 内联函数
3.6.1 静态数据成 1.6 数据类型 6.4 特殊的运算符 数组类 异常处理的使用 9.2 类模板 5.2.3 保护派生 12.2 4.2 动态内存分配 11.4
运算符与表达式 链表类的使用 2.4 指针与数组 3.6.2 静态成员函数 1.7 带默认形参值的函数 4.3 多继承 5.3 抽象类 7.3 作用域
实验七-运算符重载参考答案
实验七 多态性—函数与运算符重载
7.1 实验目的
1.理解掌握成员函数方式运算符重载;
2.理解掌握友元函数方式运算符重载;
3.理解掌握++、--运算符的重载。
7.2 实验内容
7.2.1程序阅读
1.理解下面的程序,并运行查看结果,回答程序后面的问题。
#include
using namespace std;
class CComplex
{
public:
CComplex()
{
real = 0;
imag = 0;
}
CComplex(int x,int y)
{
real = x;
imag = y;
}
int real;
int imag;
CComplex operator + (CComplex obj1)//---------------------------------------------①
{
CComplex obj2(real - obj1.real, imag - obj1.imag);
return obj2;
}
};
int main()
{
CComplex obj1(100,30);
CComplex obj2(20, 30);
CComplex obj;
obj = obj1+obj2; //------------------------------------------------------------------②
cout << obj.real <
cout << obj.imag << endl;
return 0;
}
问题一:①处的运算符重载,为什么该函数的返回值要设计成CComplex类型?
答:因为在函数中return obj2,obj2是CComplex类型,所以函数返回值要与return返回的类型相同,即设计成CComplex类型。
- 1 - 能用友元函数重载的运算符
友元函数是一种特殊的函数,它可以访问类的私有成员。在C++中,我们可以使用友元函数重载运算符来完成一些特殊的操作。
使用友元函数重载运算符的好处在于可以直接使用运算符来操作对象,而不需要调用对象的成员函数。例如,我们可以使用加号运算符直接将两个对象相加,而不需要调用对象的成员函数。
常见的可以用友元函数重载的运算符包括加号、减号、乘号、除号、等于号、小于号、大于号等等。这些运算符可以被重载为友元函数,以实现特殊的操作。
需要注意的是,友元函数重载运算符时,我们需要将友元函数声明为类的友元函数,以便访问类的私有成员。同时,我们还需要遵守运算符重载的一些规则,例如运算符的操作数个数、操作数类型等等。
总之,使用友元函数重载运算符可以让我们更方便地操作对象,提高代码的可读性和可维护性。