




已阅读5页,还剩6页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
本科实验报告课程名称: C+面向对象程序设计 实验地点: 专业班级: 学号: 学生姓名: 指导教师: 2016年 5 月 3 日实验名称 实验三 类与对象实验目的和要求1. 掌握类的概念2. 理解类与对象的关系3. 掌握构造函数与析构函数4. 理解类的组合实验内容1. 定义一个复数类Complex,复数的实部Real与虚步Image定义为私有数据成员。用复数类定义复数对象c1,c2,c3,用构造函数将c1初始化为c1=20+40i,将c2初始化为c2=0+0i,用拷贝构造函数将c3初始化为c3+20+40i,用公有成员函数Display()显示复数c1,c2,c3的内容。2. 定义一个学生成绩类Score,描述学生成绩的私有数据数据成员为学号NO,姓名Name8,高等数学Math,大学物理Phi,数据结构Date,平均得分ave,定义能输入学生成绩的公有成员函数Write,能计算学生平均分的公有成员函数Average,能显示学生成绩的函数Display,在主函数中用Score类定义学生成绩对象数组s3,用Write输入学生成绩,最后用Display显示每个学生的成绩。3. 定义一个矩形类Rectangle,矩形的左上角与右下角坐标定义为保护数据成员。用公有成员函数计算出矩形的对角线长度,公有成员函数Show显示矩形的左上角与右上角坐标及对角线长度,在主函数中用new运算符动态建立矩形对象r1,然后调用Show显示矩形左上角与右下角坐标及对角线长度,最后用delete运算符回收为矩形动态分配的存储空间。主要仪器设备台式或笔记本电脑实验记录(写出实验内容中1,2,3的程序代码和运行结果)(可分栏或加页)一. #include stdafx.h#include using namespace std;class Complexprivate:int real, image;public:void Display() cout real + image i endl; Complex(int real, int image);Complex(Complex &c);Complex() real = 20; image = 40; ;Complex:Complex(int real, int image) real = 20;image = 40; Complex:Complex(Complex &c) real = c.real;image = c.image; int main() Complex c1;Complex c2(0, 0);Complex c3(c1);cout c1=;c1.Display();cout c2=;c2.Display();cout c3=;c3.Display();return 0; 二#include stdafx.h#includeusing namespace std;class score int No,Math,Phi,Data,ave; char Name8;public: void Write(score &b) cout请输入学号:b.No; cout请输入姓名:b.Name; cout请输入数学成绩:b.Math; cout请输入物理成绩:b.Phi; cout请输入数据结构成绩:b.Data; int Average(score &a) a.ave=(a.Data+a.Math+a.Phi)/3; return a.ave; void Display() coutNotNametMathtPhitDatataveendl; ; int main () score s3; int i; for(i=0;i3;i+) si.Write(si); si.Average(si); cout学号t姓名t数学t物理t结构t平均tendl; for(i=0;i3;i+) si.Display(); 三. #include stdafx.h#include iostreamusing namespace std;class Rectanglepublic:Rectangle(double l, double t, double r, double b) :left(l), top(t), right(r), bottom(b) double Diagonal();void Show();protected:double left, top;double right, bottom;double Rectangle:Diagonal() double l, w;l = right - left;w = bottom - top;return (sqrt(l * l + w * w); void Rectangle:Show() cout 矩形左上角坐标为: left , top endl;cout 矩形右下角坐标为: right , bottom endl;cout 矩形对角线的长为: Diagonal() Show();delete r1;return 0; 遇到的问题和解决方法心得体会实验名称 实验四 类与对象的其它特征实验目的和要求1. 了解静态对象的定义与使用方法2. 理解静态数据成员和静态成员函数的定义和使用方法3. 掌握函数调用中参数的传递实验内容1. 设计一个Dog类,它用静态数据成员Dogs记录Dog的个数2. 编写一个程序,设计一个类Tri,给定三角形的三条变X,Y,Z3. 设计一个程序,其中3个类CBabk,BBabk,GBabk分别为中国银行类主要仪器设备台式或笔记本电脑实验记录(写出实验内容中1,2,3的程序代码和运行结果)(可分栏或加页)一. class Dog static int Dogs;public:Dog() +Dogs; Dog() -Dogs; static int GetDogs()return Dogs;int Dog:Dogs = 0;二. #include stdafx.h#include iostreamusing namespace std;class Tri private:float x, y, z;public:float Sum();friend float Sum1(float x, float y, float z);void Output();float Sum1(float x, float y, float z) double p = (x + y + z) / 2;return sqrt(p*(p - x)*(p - y)*(p - z); int main(int argc, _TCHAR* argv) cout 三角形面积S为 Sum1(3, 4, 5) endl;return 0; 三. #include stdafx.h#includeiostream#includeStringusing namespace std;class CBank;class BBank;class GBank;class CBanklong int balance;public:CBank()balance=0;CBank(long int b)balance=b;void getbalance()coutbalance;friend void total(CBank,BBank,GBank); ;class BBanklong int balance;public:BBank()balance=0;BBank(long int b)balance=b;void getbalance()coutbalance;friend void total(CBank,BBank,GBank); ;class GBanklong int balance;public:GBank()balance=0;GBank(long int b)balance=b;void getbalance()coutbalance;friend void total(CBank,BBank,GBank); ;void total(CBank A,BBank B,GBank C)cout总的银行存款项目:A.balance+B.balance+C.balanceendl;void main() CBank X;BBank Y;GBank Z;X.getbalance();Y.getbalance();Z.getbalance();total(X,Y,Z);遇到的问题和解决方法心得体会实验名称 实验五 继承与派生实验目的和要求1. 理解集成与派生的概念2. 掌握派生类定义格式与使用方法实验内容1. 定义描述职工档案的类Archives,私有数据成员职工号,姓名性别2. 定义个人信息类Person,其数据成员有姓名,性别,出生年月主要仪器设备台式或笔记本电脑实验记录(写出实验内容中1,2的程序代码和运行结果)(可分栏或加页)一. #include stdafx.h#include iostreamusing namespace std;class Person char strName10;int nAge;public:Person(char*name, int age)strcpy_s(strName, name);nAge = age;cout constructor of person strName endl;Person() cout deconstrutor of person strName endl; ;class Employee :public Person char strDept20;Person Wang;public:Employee(char*name, int age, char*dept, char*name1, int age1) :Person(name, age),Wang(name1, age1)strcpy_s(strDept, dept);cout constructor of Employee endl;Employee() cout deconstrucor of Employee endl; ;int _tmain(int argc, _TCHAR* argv)Employee employee1(lixi, 20, student, actor, 21);return 0;二. #include stdafx.h#include iostreamusing namespace std;class Archivesprivate:int No;char Name8;char Sex;int Age;public: void Show(int No,char Name8,char Sex,int Age)cout职工号为Noendl;cout职工姓名为Name8endl;cout职工性别为Sexendl;cout职工年龄为Ageendl;class Laborage:public Archivesprivate:int SSalary;int Security;int Fsalary;public:void Display(int No,char Name8,char Sex,int Age,int SSalary,int Security) cout职工号为Noendl;cout职工姓名为Nameendl;cout职工性别为Sexendl;cout职工年龄为Ageendl;cout职工应发工资为SSalaryendl;cout职工的社保金为Securityendl;void Count();Fsalary=SSalary-Security;cout实发工资为Fsalaryendl;int _tmain(int argc, _TCHAR* argv)Laborage lab;lab.Display(1001,cheng,M,21,2000,100);return 0; 三. #include stdafx.h#includeiostreamusing namespace std;class Person public:char Name8;char Sex;int Birthday;class Student :public Personpublic:int Class;int No;char Professnation50;int English;int Math;void Display(char Name8, char Sex, int Birthday, int Class, int No, char Professnation50, int English, int Math)cout 学生姓名为 Name endl;cout 学生性别为 Sex endl;cout 出生年月 Birthday endl;cout 班级为 Class endl;cout 学号为 No endl;cout 专业为 Professnation endl;cout 英语成绩 English endl;cout 数学成绩 Math endl;class Employee :public Personpublic:char work8;char task8;int Salary;void Disp
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论