【2017年整理】C++第四章实验报告

上传人:爱****1 文档编号:941785 上传时间:2017-05-23 格式:DOC 页数:6 大小:49.50KB
返回 下载 相关 举报
【2017年整理】C++第四章实验报告_第1页
第1页 / 共6页
【2017年整理】C++第四章实验报告_第2页
第2页 / 共6页
【2017年整理】C++第四章实验报告_第3页
第3页 / 共6页
【2017年整理】C++第四章实验报告_第4页
第4页 / 共6页
【2017年整理】C++第四章实验报告_第5页
第5页 / 共6页
点击查看更多>>
资源描述

《【2017年整理】C++第四章实验报告》由会员分享,可在线阅读,更多相关《【2017年整理】C++第四章实验报告(6页珍藏版)》请在金锄头文库上搜索。

1、一,实验目的1 学习重载函数的用法2 进一步加强友元函数的用法3 学会运算符的重载二, 实验平台Vc+三,实验题目1.定义一个复数类 Complex,重载运算符“+”,使之能用于复数的加法运算。参加运算的两个运算量可以都是类对象,也可以其中有一个是整数,顺序任意。例如:c1+c2,i+c1,c1+i均合法(设 i 为整数,c1,c2 为复数) 。编程序,分别求俩个复数之和,整数和复数之和。2.有两个矩阵 a 和 b,均为 2 行 3 列。求两个矩阵之和。重载运算符“+“,使之能用于矩阵相加。如 c=a+b.3.在上题的基础上,重载流插入运算符“”使之能用于该矩阵的输入和输出。4.定义一个 Te

2、acher(教师)类和一个 Student(学生) 类,二者有一部分数据成员是相同的,例如 num(号码) ,name(姓名),sex(性别) 。编写程序,将一个对象学生转换为教师类,只将以上 3 个相同的数据成员移植过去。可以设想为:一位学生大学毕业了,留校担任老师,他原有部分数据对现在的教师身份来说仍然有用的,应当保留并作为其教师的数据的一部分。四,实验内容及运算结果1.#include class Complexpublic:Complex()real=0;imag=0;Complex(double r,double i)real=r;imag=i;Complex operator+(C

3、omplex &c2);Complex operator+(int &i);friend Complex operator+(int&,Complex &); void display();private:double real;double imag;Complex Complex:operator+(Complex &c) return Complex(real+c.real,imag+c.imag); Complex Complex:operator+(int &i) return Complex(real+i,imag);void Complex:display()coutusing

4、namespace std;class Matrix public:Matrix(); friend Matrix operator+(Matrix &,Matrix &); void input(); void display(); private:int mat23; ;Matrix:Matrix() for(int i=0;imatij;void Matrix:display() /for (int i=0;i/using namespace std;class Matrixpublic:Matrix();friend Matrix operator+(Matrix &,Matrix &

5、);friend ostream& operator(istream&,Matrix&);private:int mat23; Matrix:Matrix()for(int i=0;i(istream &in,Matrix &m)coutm.matij;return in;ostream& operatora;cinb;coutusing namespace std;class Student public:Student(int,char,char,float); int get_num()return num; char * get_name()return name; char get_

6、sex()return sex; void display()coutnum:numnname:namensex:sexnscore:scorenn;private:int num;char name20;char sex;float score;Student:Student(int n,char nam,char s,float so) num=n;strcpy(name,nam);sex=s;score=so;class Teacherpublic:Teacher() Teacher(Student&); Teacher(int n,char nam,char sex,float pay

7、); void display();private:int num;char name20;char sex;float pay;Teacher:Teacher(int n,char nam,char s,float p)num=n;strcpy(name,nam);sex=s;pay=p;Teacher:Teacher(Student& stud)num=stud.get_num(); strcpy(name,stud.get_name();sex=stud.get_sex();pay=1000; void Teacher:display()coutnum:numnname:namensex

8、:sexnpay:paynn; int main()Teacher teacher1(10001,zhang,f,1234.5),teacher2;Student student1(20010,zhao,m,89.5);coutstudent1:endl;student1.display();teacher2=Teacher(student1); coutteacher2:endl; teacher2.display();return 0;运算结果:student1:num:20010name:zhangsex:mscore:89.5teacher2:num:20010name:zhaosex:mpay:1000

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 研究报告 > 综合/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号