C++《面向对象程序设计》实验报告3
- 格式:doc
- 大小:79.00 KB
- 文档页数:3
C++面向对象程序设计实验报告专业:计算机科学与技术班级:2012级软件方向学号:2012020227姓名:谭诚1.实验内容面向对象的基本要素是:类和对象的创建和使用,以及消息.本次试验任务:(1)参考教材P120.完成实验3程序的编写和测试.(2)使用面向对象的程序设计思路,分析学生选课问题。
设计相关的类完成某班学生选课的操作:假设共N门课程被选,每人可选科目不限,但必须达到基本学分要求,才算选课有效,设计的程序能完成本班人选课,并打印所有班级学生选课结果。
2.预习内容VC开发环境的使用,面向对象分析,使用抽象,封装实现类的编写测试。
类中构造函数及对象的创建,对象数组、对象指针、向函数唤弟对象、静态成员、友元等概念。
3.实验类型验证型,设计型4.实验目的(1)掌握VC++ 6.0开发环境的使用,程序的调试方法.(2)掌握面向对象的分析方法,会从问题域中抽象出相关的类,及在VC6.0中使用C++规则描述类的属性和行为.(3)理解类和对象的概念,学习声明类和对象的方法。
(4)学习使用对象数组,静态成员,友元函数友元类的操作,以及类的组合等。
5.实验要求(1)打开VC环境创建项目:创建源文件进行编码测试,按要求编写程序 .并回答问题。
(2)完成实验内容要求并进行测试,分析结果。
6.实验过程(源文件、步骤及结果分析)(1)源程序:#include<iostream>#include<cmath>using namespace std;class Location{public:Location(double=0,double=0);double Getx();double Gety();double distance1(Location &);friend double distance2(Location &,Location &);private:double x,y;};Location::Location(double a,double b){x=a;y=b;}double Location::Getx(){return x;}double Location::Gety(){return y;}double Location::distance1(Location &p1){Location B(-25,50);return sqrt(fabs(p1.x-B.x)*fabs(p1.x-B.x)+fabs(p1.y-B.y)*fabs(p1.y-B.y));}double distance2(Location &p1,Location &p2){return sqrt(fabs(p1.x-p2.x)*fabs(p1.x-p2.x)+fabs(p1.y-p2.y)*fabs(p1.y-p2.y)); }int main(){Location o;double d1,d2;Location A(-15,-30);Location B(-25,50);cout<<"A("<<A.Getx()<<","<<A.Gety()<<"),B("<<B.Getx()<<","<<B.Gety()<<")"<<endl;d1=o.distance1(A);d2=distance2(A,B);cout<<"Distance1="<<d1<<endl;cout<<"Distance2="<<d2<<endl;return 0;}实验截图:(2)源程序:7.实验总结(程序调试体会、收获)。
C++实验报告专业:网络工程班级:113班学号:********* ******实验三函数的应用一、实验目的1、掌握函数的定义和调用方法。
2、练习重载函数使用3、练习函数模版的使用4、练习使用系统函数二、实验任务1、编写一个函数把华氏温度转化为摄氏温度,转换公式为:C=(F-32)*5/9.2、编写重载函数Max1可分别求取两个整数。
三个整数,两个双精度数,三个双精度数的最大值。
3、使用重函数模版重新实现上小题中的函数Max1.4、使用系统函数pow(x,y)计算想xy的值,注意包含头文件math.h。
5、用递归的方法编写函数求Fibonacci级数,观察递归调用的过程。
三、实验步骤1、编写函数float Convert(float TempFer),参数的返回值都为float类型,实现算法C=(F-32)*5/9,在main()函数中实现输入、输出。
程序名为lab3_1.cpp。
2、分别编写四个同名函数max1,实现函数重载,在main()函数中测试函数功能。
程序名:lab3_2.cpp。
3、使用函数模版实现求任意类型数的最大值,针对不同的参数个数,编写两个同名的函数模版max1,其参数个数不同,实现函数重载,在main()函数中测试函数的功能。
程序名:lab3_3.cpp。
4、在main()函数中提示输入两个整数x,y,使用cin语句得到x,y的值,调用pow(x,y)函数计算x的y次幂的结果,再显示出来。
程序名:lab3_4.cpp。
5、编写递归函数int fib(int n),在主程序中输入n的值,调用fib函数计算Fibonacci级数。
公式为fib(n)=fib(n-1)+fib(n-2),n>2;fib(1)=fib(2)=1。
使用if语句判断函数的出口,在程序中用cout语句输出提示信息。
程序名:lab3_5.cpp。
四、体会1、初步掌握C++中函数调用。
2、与C语言中函数调用并没有多大区别。
《C++面向对象程序设计》实验内容实验1 C++程序设计初步1.实验目的(1)了解在C++编译系统(Visual C++6.0)上如何编辑、编译、连接和运行一个C++程序。
(2)通过运行简单的C++程序, 初步了解C++源程序的结构和特点。
(3)掌握简单C++程序的编写和调试方法。
(4)掌握重载函数的定义方法。
(5)能正确使用引用型变量。
2.实验内容和步骤(1)在Visual C++环境下编译和运行C++程序①先进入Visual C++6.0环境。
②在自己指定的子目录中建立一个名为test.cpp的新文件。
③从键盘输入以下程序int main(){int a,b;c=a+b;cout>> “a+b=”>>a+b;}选择Build→Compile test.cpp命令, 对此源程序进行编译。
观察和分析编译信息。
⑤根据编译信息指出的错误, 修改程序。
再进行编译, 如果还有错, 再重复此过程, 直到编译不出错为止。
⑥选择Build→Build test.exe命令, 对程序进行连接, 如果不出错, 就会生成可执行程序test.exe。
⑦选择Build→Execute test.exe命令, 执行可执行程序test.exe。
观察屏幕的变化。
在输出窗口应显示程序运行结果。
⑧分析结果是否正确, 如果不正确或认为输出格式不理想, 可以修改程序, 然后重新执行以上④和⑧步骤。
改过后的程序:#include<iostream>using namespace std;int add(int x,int y){int z;z=x+y;return(z);}int main(){int a,b,c;cin>>a>>b;c=add(a,b);cout<<"a+b="<<c<<endl;return 0;}实验2 C++对C的扩充(2)编一个程序, 用来求2个或3个正整数中的最大数。
上海理工大学光电信息与计算机工程学院《面向对象程序设计实验》实验报告专业姓名学号年级指导教师成绩:教师签字:目录实验一面向对象开发环境C++基础实验二C++语言进阶实验三面向对象高级特性实验成绩细化表实验一面向对象开发环境基础一、实验目的(1)了解C++的开发环境,学会独立使用该系统。
(2)了解在该系统上如何编辑、编译、连接和运行一个C++程序。
(3)通过运行简单的C++程序,初步了解C++源程序的基本组成。
.(4)掌握C++中基本数据类型。
(5)掌握C++中各种运算符的作用、优先级和结合性,能熟练运用各种表达式。
(6)掌握不同数据类型的输入输出。
(7)掌握简单的语法错误的查找和改正方法。
二、实验设备PC机,操作系统Windows 8,开发环境Visual Studio 2010三、实验原理配套教材实验一、实验二四、实验源程序//2-35#include <iostream>#include <iomanip>using namespace std;int main(){int x,y,ans;for(x=1;x<10;x++){for(y=1;y<10;y++){ans=x*y;cout<<x<<"*"<<y<<"="<<setw(2)<<ans<<"";}cout<<endl;}system("pause");return 0;}五、自评良好实验二C++语言进阶一、实验目的(1)熟练掌握if语句、switch语句、for语句、while及do-while语句(2)掌握转移控制语句(3)理解编译预处理(4)掌握函数的定义和调用(5)掌握数组的定义和使用(6)掌握结构和枚举类型的定义方法和使用(7)掌握指针的使用方法及应用(8)掌握指针与数组(9)掌握指针传递和引用传递二、实验设备PC机,操作系统Windows 8,开发环境Visual Studio 2010三、实验原理配套教材实验三、实验五、实验六四、实验源程序//3-2#include<iostream>#include<stdlib.h>using namespace std;int Max1(int a,int b){if(a>b)return(a);elsereturn(b);}int Max1(int a, int b,int c){if(a>b){if(a>c)return(a);}else{if(b>c)return(b);elsereturn(c);}}double Max1(double x,double y){if(x>y)return(x);elsereturn(y);}double Max1(double x,double y,double z) {if(x>y){if(x>z)return(x);}else{if(y>z)return(y);elsereturn(z);}}int main(){int a,b,c;double x,y,z;cout<<"请输入两个整数:";cin>>a>>b;cout<<"最大值为:"<<Max1(a,b)<<endl; cout<<"请输入三个整数:";cin>>a>>b>>c;cout<<"最大值为:"<<Max1(a,b,c)<<endl; cout<<"请输入两个双精度数:";cin>>x>>y;cout<<"最大值为:"<<Max1(x,y)<<endl; cout<<"请输入三个双精度数:";cin>>x>>y>>z;cout<<"最大值为:"<<Max1(x,y,z)<<endl;system("pause");return 0;}//5-14#include<iostream>usingnamespace std;class Boat;class Car{private:int weight;public:Car(int j){ weight=j;}friendint getTotalWeight(Car &aCar,Boat &aBoat);};class Boat{private:int weight;public:Boat(int j){ weight=j;}friendint getTotalWeight(Car &aCar,Boat &aBoat);};int getTotalWeight(Car &aCar,Boat &aBoat){ return aCar.weight+aBoat.weight;}int main(){Car c(10);Boat b(7);cout<<"The total weight is : "<<getTotalWeight(c,b)<<endl; system("pause");return 0;}//6-6#include<iostream>#include<string>usingnamespace std;class Employee{private:char name[30];char stree[30];char city[30];char zip[6];public:Employee();void change_name();void display();};Employee::Employee(){strcpy(name,"lianmeng");strcpy(stree,"piamganjie3hao");strcpy(city,"shanghai");strcpy(zip,"900000");}void Employee::change_name(){cout<<"Enter a name:";cin>>name;}void Employee::display(){cout<<"\n"<<name<<"\t"<<stree<<"\t"<<city<<"\t"<<zip<<"\t"; }int main(){int i;Employee *p=new Employee[5];for(i=0;i<5;i++){p[i].display();}for(i=0;i<5;i++){cout<<"\nnumber"<<i+1<<" : "<<endl;p[i].change_name();}for(i=0;i<5;i++){ p[i].display(); }delete p;system("pause");return 0;}五、自评良好实验三面向对象高级特性一、实验目的(1)掌握类与对象的定义(2)掌握对象成员的访问、构造函数和析构函数(3)理解基类和派生类(4)掌握单一继承和多重继承的定义和使用方法(5)掌握运算符重载程序的编写(6)掌握虚函数的编写和使用(7)掌握流类库与输入/输出;异常处理二、实验设备PC机,操作系统Windows 8,开发环境Visual Studio 2010 三、实验原理配套教材实验四、七、八、十一四、实验源程序//4-8#include<iostream>usingnamespace std;class Dog{public:Dog(int nage=0,int nweight=0){age=nage;weight=nweight;}Dog(Dog &d);inlinevoid showstatus();void setstatus();private:int age,weight;};Dog::Dog(Dog &d){age=d.age;weight=d.weight;}inlinevoid Dog::showstatus(){cout<<"His status is:"<<endl<<"age:"<<age<<"\tweight:"<<weight<<"kg"<<endl; }void Dog::setstatus(){int na,nw;cout<<"Please set age and weight:";cin>>na>>nw;age=na;weight=nw;}int main(){Dog Zangming(19,60);cout<<"Here is a dong Zangming!!"<<endl;Zangming.showstatus();cout<<"Please reset his status!"<<endl;Zangming.setstatus();cout<<"\n\nNow:"<<endl;Zangming.showstatus();system("pause");}//7-6#include<iostream>usingnamespace std;class Mammal{public:Mammal(int a,int w):age(a),weight(w){cout<<"Mammal Constructor called..."<<endl;}~Mammal(){cout<<"Mammal Destructor called..."<<endl;}private:int age;int weight;};class Dog:public Mammal{public:Dog(int a,int w):Mammal(a,w){cout<<"Dog Constructor called..."<<endl;}~Dog(){cout<<"Dog Destructor called..."<<endl;}};int main(){{cout<<"Constructing a Mammal..."<<endl;Mammal mammal(8,12);cout<<endl<<"Constructing a Dog..."<<endl;Dog dog(3,9);cout<<endl<<"Destructing......"<<endl;}system("pause");return 0;}//8-5#include<iostream>usingnamespace std;class Mammal{public:Mammal(){cout<<"Mammal Constructor..."<<endl;} ~Mammal(){cout<<"Mammal Destructor..."<<endl;} virtualvoid speak()=0;};class Dog:public Mammal{public:Dog(){cout<<"Dog Constructor..."<<endl;}~Dog(){cout<<"Dog Destructor..."<<endl;}virtualvoid speak();};void Dog::speak(){cout<<"Dog's sound...."<<endl;}int main(){Dog *pdog=new Dog;pdog->speak();delete pdog;system("pause");return 0;}//11-5#include<fstream>#include<iostream>usingnamespace std;int main(){ofstream file1("test.txt",ios::app);file1<<"已成功添加字符!";file1.close();char ch;ifstream file2("test.txt");while(file2.get(ch))cout<<ch;file2.close();system("pause");return 0;}五、自评良好实验成绩细化表。
本科实验报告课程名称:C++面向对象程序设计实验地点:专业班级:学号:学生姓名:指导教师:2016年 5 月3 日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"#include<iostream>using namespace std;class score{int No,Math,Phi,Data,ave;char Name[8];public:void Write(score &b){ cout<<"请输入学号:"<<endl;cin>>b.No;cout<<"请输入姓名:"<<endl;cin>>;cout<<"请输入数学成绩:"<<endl;cin>>b.Math;cout<<"请输入物理成绩:"<<endl;cin>>b.Phi;cout<<"请输入数据结构成绩:"<<endl; cin>>b.Data; }int Average(score &a){ a.ave=(a.Data+a.Math+a.Phi)/3;return a.ave; }void Display(){ cout<<No<<'\t'<<Name<<'\t'<<Math<<'\t'<<Phi<<'\t'<<Data<<'\t'<<ave<<endl; }};int main (){ score s[3];int i;for(i=0;i<3;i++){ s[i].Write(s[i]);s[i].Average(s[i]); }cout<<"学号\t"<<"姓名\t"<<"数学\t"<<"物理\t"<<"结构\t"<<"平均\t"<<endl;for(i=0;i<3;i++)s[i].Display();}三. #include"stdafx.h"#include"iostream"using namespace std;class Rectangle{public:Rectangle(double l, double t, double r, double b) :left(l), top(t), right(r), bottom(b) {}三. #include"stdafx.h"#include"iostream"using namespace std;class Person {public:char Name[8];char Sex;int Birthday;};class Student :public Person{public:int Class;int No;char Professnation[50];int English;int Math;void Display(char Name[8], char Sex, int Birthday, int Class, int No, char Professnation[50], 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 Person{public:。
《面向对象程序设计》实习报告班级:学号:姓名:指导教师:实习时间:一.实习目的1. 学习怎样启动和退出VB,熟悉VB的工作环境2.掌握基本控件的重要属性、事件;3.熟练掌握在窗体上建立上述控件的操作方法;4.熟练掌握事件过程代码的编写;5.掌握建立基于图形界面的应用程序的过程6. 学习用属性窗口设置对象属性及用代码设置对象属性的方法。
7. 学习如何用对象(窗体和控件)建立界面及在代码编辑器中输入程序代码的基本操作。
8 .基本掌握用VB开发应用程序的一般步骤。
二.程序设计实验1 基本算法练习1.编写程序求“自己学号后3位到500”以内的所有素数及自然数对。
2.编写程序“计算最大公约数和最小公倍数”实验:计算3个数的最大公约数和最小公倍数,并以最小公倍数作为总金额,计算人民币各种票额的张数3.编写程序“歌德巴赫猜想及守形数”4.编写程序“百钱百鸡问题”实验:编写程序解决百钱买百鸡问题:公鸡5元/只,母鸡3元/只,小鸡一元买3只,用100元买100只鸡,问有哪些购买方案?实验2 常用统计练习1.成绩统计实验:利用文本框作为数据的输入和输出,产生数学、语文、英语、计算机等4门课程的成绩2.字符统计实验:随机产生200个“32到自己学号后3位”且小于128的随机数,将其转换成相应字符,形成一段统计字符。
统计字符中各个字母、各数字、空格、其它字符的个数。
实验3 常用排序方法1. 选择法排序实验:随机产生10个“学号后3位到500之间”的数,用选择法进行递增序。
2.冒泡法排序实验: 随机产生10个“50到学号后3位之间”的数,然后用冒泡法按递增的顺序进行排序。
3.二维数组排序实验:随机产生“10到学号后3位之间”的数,形成一个4*5 的二维数组,按升序排列。
4.从有序数组中删除一个元素实验要求:随机产生“1到学号后3位之间”的10个数,然后产生1-10间的随机数,确定删除元素,最后得出删除后的结果实验4 加密解密与数制转换1.数据加密与解密根据产生的后移位数,将输入的字符进行加密和解密。
面向对象c 实验报告实验报告:面向对象C程序设计一、实验目的本次实验旨在通过设计一个面向对象的C程序,来加深对面向对象程序设计的理解,并实践C语言中面向对象的编程思想。
二、实验过程1. 设计类和对象:在C语言中,没有类的概念,但可以通过以下方式模拟类和对象。
- 定义一个结构体来表示一个类,结构体中包含该类的成员变量和成员函数指针。
- 定义一些函数来模拟类的成员函数,函数的第一个参数是结构体类型的指针,该指针指向当前对象。
2. 创建对象:定义一个结构体变量,该变量称为对象,通过调用构造函数来初始化对象的成员变量,将对象传递给成员函数。
3. 调用成员函数:使用对象调用该对象的成员函数,通过函数指针实现多态性。
4. 析构对象:在不再使用对象时,调用析构函数来释放对象占用的资源,避免内存泄漏。
5. 运行程序:编译并运行C程序,观察程序的输出结果。
三、实验结果在C语言中实现面向对象的程序设计,可以提供一种思路和方式来实现面向对象的编程思想。
通过将相关的数据和函数封装在一个表示类的数据结构中,并通过该数据结构的函数指针来调用成员函数,可以模拟出面向对象的效果。
四、实验总结通过本次实验,我对于C语言中如何实现面向对象编程有了进一步的理解。
尽管C语言本身没有类的概念,但通过结构体和函数指针的方式,我们可以模拟出类和对象的概念,并实现封装、继承和多态等面向对象的特性。
C语言中面向对象的编程思想可以使程序更加模块化、灵活和易于维护。
通过将相关的数据和函数封装在一个结构体中,我们可以将代码组织得更加清晰,降低代码的耦合度,提高代码的重用性。
此外,通过函数指针的方式来调用成员函数,可以实现多态性,使得代码更加灵活和可扩展。
当然,C语言中实现面向对象编程也存在一些限制和不足。
相比于面向对象编程语言,如C++和Java,C语言中的面向对象编程需要手动管理对象的生命周期,容易出现内存泄漏的问题。
此外,C语言中没有提供访问控制的特性,不同成员函数之间的访问权限不能进行限制。
C++实验报告实验一 Visual C++6.0开发环境应用入门(验证性实验2学时)1.目的要求:了解Visual C++6.0的特点,熟悉了解Visual C++6.0的开发环境,学习使用Visual C++6.0编写标准的C++控制台应用程序。
2.实验内容:使用Visual C++来建立一个非图形化的标准C++程序,编译、运行教材中的例3-3,用公式法求解PI的数值,并尝试利用其他方法求解并获得相同的结果。
π=16arctan(1/5)-4arctan(1/239)arctan(x)=x-x³/3+x5/5-x7/7+…求π=?(1)源代码和说明:#include<iostream>using namespace std;double arctan(double x){double sqr=x*x;double e=x;double r=0;int i;while(e/i>1e-15){double f=e/i;r=(i%4==1)?r+f:r-f;e=e*sqr;i+=2;}return r;}int main(){double a=16.0*arctan(1/5.0);double b=4.0*arctan(1/239.0);cout<<"PI="<<a-b<<endl;return 0;}2)运行结果:1实验二 C++简单程序设计实验(验证性实验4学时)1.目的要求:会编写简单的C++程序;复习基本数据类型变量和常量的应用;复习运算符与表达式的应用;复习结构化程序设计基本控制结构的应用;复习自定义数据类型的应用;练习使用简单的输入输出;观察头文件的作用;学会使用VC6.0开发环境中的debug调试功能;熟练程序设计中的技巧;2.实验内容:1)给定一个字符变量输出其二进制形式。
例如char a=’a’;其二进制为00100001。
江门职业技术学院《面向对象程序设计》课程实训报告班别_____________学号_____________姓名_____________江门职业技术学院电子与信息技术系编实训一Windows窗体基本控件的应用【实训目的】1.熟悉C#的编译环境。
2.掌握编写Windwos项目程序的一般步骤3.掌握Windows窗体基本控件的使用方法。
4. 掌握使用C#集成开发环境编译调试程序。
【实训内容】◆练习1、时钟实例◆练习2、加法练习器实例◆练习3、项目选择器实例◆练习4、倒计时器实例◆练习5、英文字母练习器实例【实训报告】实训二数据库的创建和管理【实训目的】掌握:1、SQL Server2000数据库的创建方法2、由已经生面的数据库产生SQL Server脚本的方法3、查看、修改数据库属性的方法4、数据库删除的方法。
【实训内容】1、用企业管理器创建XXXXXX数据库2、用T—SQL语句创建XXXXXX数据库3、查看、修改XXXXXX数据库属性4、XXXXXX数据库删除【实训报告】实训三数据表的创建与管理【实训目的】掌握:1、表的创建方法2、修改表的结构3、能够向已经创建的表中添加、删除及修改数据【实训内容】分别使用T_SQL命令、企业管理器向前面所建XXXXXX数据库做:1、创建关系模式中的表2、管理表3、对表添加、修改和删除数据【实训报告】实训四(1)数据查询【实训目的】1、理解查询的概念和方法2、掌握查询分析器的使用方法3、掌握SELECT语句的应用、多表查询、复杂查询的方法【实训内容】分别使用T_SQL命令、企业管理器向前面所建数据库做(至少对每个实体表一个查询):1、单表查询2、多表查询3、进行嵌套查询4、另用新表存储以上其中一个查询结果5、查询统计汇总【实训报告】实训四(2)视图的创建与使用【实训目的】掌握创建视图、测试、更改视图的方法【实训内容】分别使用T_SQL命令、企业管理器向前面所建数据库创建、管理视图(至少8个)【实训报告】实训五设计数据完整性【实训目的】掌握:1、掌握约束的概念及实施方法2、掌握规则的概念及实施的方法3、掌握默认值的概念及实施的方法【实训内容】分别使用T_SQL命令向前面所建数据库做:1、建立表与表之间的联系,建立必要的外键与主键、外键、唯一、非空、检查、缺省约束。
面向对象程序设计实验报告【实验报告】面向对象程序设计一、引言面向对象程序设计是一种以对象为基础的软件开发方法,它将现实世界中的事物抽象成对象,并通过对象之间的交互来实现程序的功能。
本次实验旨在通过实践,加深对面向对象程序设计的理解,并掌握面向对象程序设计的基本原理和技巧。
二、实验目的1. 熟悉面向对象程序设计的基本概念和术语;2. 掌握面向对象程序设计的基本原理和技巧;3. 能够运用面向对象程序设计的思想解决实际问题。
三、实验内容1. 设计一个简单的图书管理系统;2. 实现图书的增删改查功能;3. 设计并实现图书管理系统的类结构;4. 编写测试代码,验证图书管理系统的功能。
四、实验步骤1. 设计图书管理系统的类结构:a. 创建一个Book类,包含图书的属性(书名、作者、出版社等)和方法(借阅、归还等);b. 创建一个Library类,用于管理图书馆的图书,包含添加图书、删除图书、查找图书等方法;c. 创建一个User类,用于表示图书馆的用户,包含借书、还书等方法;d. 创建一个Main类,作为程序的入口,用于测试图书管理系统的功能。
2. 实现图书的增删改查功能:a. 在Book类中实现图书的增删改查方法;b. 在Library类中调用Book类的方法,实现图书的增删改查功能。
3. 设计并实现图书管理系统的类结构:a. 根据实验要求,设计图书管理系统的类结构,包括Book、Library和User 类;b. 在每个类中定义相应的属性和方法,实现图书管理系统的功能。
4. 编写测试代码,验证图书管理系统的功能:a. 在Main类中创建图书馆和用户对象;b. 调用相应的方法,测试图书管理系统的功能;c. 检查输出结果,确保图书管理系统的功能正常运行。
五、实验结果与分析经过实验,成功设计并实现了一个简单的图书管理系统。
该系统具备图书的增删改查功能,用户可以通过借书和还书操作实现对图书的借阅和归还。
经过多次测试,系统运行稳定,功能正常。
课程实验报告
3
(1)定义Base0的基类,公有成员为int类型的变量和返回值为void 类型的fun()函数
(2)定义Base1的派生类,以公有继承方式继承虚基类Base1,公有成员为int类型的变量
(3)定义Base2的派生类,以公有继承方式继承虚基类Base2,公有成员为int类型的变量
(4)定义Derived类,以公有继承的方式继承Base1和Base2,公有成员为interesting类型的变量和返回值为void类型的fun()函数
(5)定义main函数,定义Derived类对象d并直接访问虚基类的数据和函数成员
4
(1)定义fruit类,私有成员为string类型的chandi和pinzhong,公有成员void setPinzhong(string a)、void setChandi(string b)、string getChandi()和string getPinzhong()
(2)定义派生类apple,以公有继承方式继承fruit基类;此类的新增私有成员为double类型的变量weight,公有成员void setWeight(double
a)和double getWeight()
(3)定义main函数,定义apple类的对象s测试程序
调试过程及实验结果实验2,没有形参值的基类虽然在派生类的构造函数中没有写出,但仍然调用了基类的构造函数。
调试结果如下:
实验1中,如果基类中有相同的函数,可以将公有派生类对象的地址
*注意:
--雷同无效,禁止抄袭;
--A4纸单面打印,左侧装订,2个钉;
--以班为单位,各班负责人收齐并按学号由小到大顺序排序后上交;--报告上交时间,第13周周一。