1.设计一个2行3列的矩阵类Matrix,定义其构造函数、输入成员函数input和输出成员函数display,重载运算符“+”,求两个矩阵的加法。
2.定义一个字符串类String,用来存放不定长的字符串,重载运算符“= =”、“<”和“>”,用于两个字符串的等于、小于和大于的比较运算。
**3.定义一个复数类,实现运算符前置“++”与后置“++”的重载。
4. 设计一个2行3列的矩阵类Matrix,重载流插入运算符 “<<”和流提取符“>>”,使之能用于该矩阵的输入和输出。
实验八的目的是让学生深入理解和掌握C++中的运算符重载技术,通过编程实践来实现不同类型的运算符重载。在面向对象编程中,运算符重载允许我们为自定义数据类型赋予自然且直观的操作方式,使得代码更加简洁易读。
实验要求设计一个2行3列的矩阵类Matrix。这个类需要有构造函数、输入(input)和输出(display)成员函数。构造函数通常用于初始化对象,输入函数接收用户输入的矩阵元素并存储,而输出函数则将矩阵以特定格式打印出来。此外,还需要重载加法运算符"+",使得可以对两个Matrix对象进行矩阵加法运算。这通常通过创建一个新的Matrix对象,将两个矩阵对应位置的元素相加得到。
定义一个字符串类String,用于存储不定长度的字符串。这里需要重载"="、"<"和">"这三个运算符。"="用于比较两个字符串是否相等,"<"和">"则分别用于判断字符串的大小关系。在实现这些运算符重载时,需要考虑字符串的字典序和长度等因素。
接着,实验要求实现一个复数类,其中包含对前置和后置"++"运算符的重载。前置"++"会直接增加复数的实部和虚部,而后置"++"则会返回复数的原始值,然后增加其实部和虚部。这种情况下,需要注意区分这两种运算符的不同行为和返回值。
再次设计一个2行3列的Matrix类,但这次要重载流插入运算符"<<"和流提取符">>"。这样,我们可以利用C++的I/O流库(iostream)方便地从标准输入读取矩阵数据,或将矩阵输出到标准输出。这两个运算符的重载通常涉及到友元函数(friend function),以便非成员函数可以访问类的私有或受保护成员。
实验报告中还提到了实验考核的标准和流程,强调了实验预习、实验过程、实验报告的重要性。学生需按照规定格式提交实验报告,包括实验目的、原理、步骤、记录和结论等部分。实验成绩是根据这些方面综合评定的,未完成预习和实验操作的,其报告成绩无效。
实验不仅要求学生理解运算符重载的概念,还锻炼了他们动态分配内存、释放内存以及在Visual C++6.0环境下编程的能力。通过实际编写和测试代码,学生可以更深刻地理解运算符重载在实际编程中的应用。