ImageVerifierCode 换一换
格式:DOC , 页数:34 ,大小:228.04KB ,
资源ID:4581434      下载积分:5 金币
验证码下载
登录下载
邮箱/手机:
图形码:
验证码: 获取验证码
温馨提示:
支付成功后,系统会自动生成账号(用户名为邮箱或者手机号,密码是验证码),方便下次登录下载和查询订单;
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/4581434.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

开通VIP折扣优惠下载文档

            查看会员权益                  [ 下载后找不到文档?]

填表反馈(24小时):  下载求助     关注领币    退款申请

开具发票请登录PC端进行申请。


权利声明

1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4009-655-100;投诉/维权电话:18658249818。

注意事项

本文(2023年面向对象程序设计C++实验指导书.doc)为本站上传会员【二***】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4009-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

2023年面向对象程序设计C++实验指导书.doc

1、 《面向对象程序设计(C++)》课程实验指导书 安阳工学院计算机科学与信息工程学院 软件工程教研室 2023.9 编 号: 课程总学时: 64 实验学时: 32 课程总学分: 3.5 实验学分: 先修课程:C语言程序设计 合用专业:计算机科学与技术,网络工程,软件工程 一、 本课程实验的重要目的与任务 《面向对象程序设计(C++)》是计算机专业学生的一门专业基础课。C++是一种高效而又实用的程序设计语言,它既可以进行过程化程序

2、设计,也可以进行面向对象程序设计,因此成为了编程人员最广泛使用的工具。重要任务是介绍C++语言中的数据类型,运算,语句结构及其程序设计的基本方法。使学生掌握一门高级程序设计语言,了解面向对象程序设计的基本概念与方法,进而学会运用C++语言学会解决一般应用问题,从而掌握面向对象程序设计的基本知识和基本技能。并为后续的专业课程奠定程序设计基础。 实验1 C++基础 一、实验目的 1.加强学生掌握C++的基本知识点; 2.加强学生掌握I/O流; 3 加强学生进一步理解函数的用法; 4 理解引用的概念及应用。 三、实验内容 1.用函数返回值实现记录A

3、类学生和B类学生个数,平均分大于等于80的为A类,其余为B类。 四. 实验指导 1.参考程序: #include int main() { cout<<”My name is Jone\n”; cout<<”the ID is”; cout<<2; cout< #include //要用到格式控制符 void main() { double amount = 22.0/7; cout <

4、t <

5、 cout < #include int main() { int number=1001; cout <<"Decimal:" <

6、" < #include int main() { cout <

7、stream.h> #include void main() { cout < void main() { const float PI=3.1415926f; f

8、loat r; float z,s; cout<<"请输入圆的半径r="; cin>>r; z=2*PI*r; s=PI*r*r; cout<<"圆的周长为: "< using namespace std; int array[6][4]={{60,80,90,75}, {75,85,65,77}, {80,88,90,98}, {89,1

9、00,78,81}, {62,68,69,75}, {85,85,77,91}}; int& level(int grade[], int size, int& tA, int& tB); int main() { int typeA=0,typeB=0; int student=6; int gradesize=4; for(int i=0; i

10、//函数调用作为左值 cout <<"number of type A is " <

11、 if(sum>=80) return tA; //type A student else return tB; //type B student } 运营结果: 实验2 类和对象 1、实验目的: 掌握类的定义,根据具体需求设计类; 进一步理解C++中类的封装性; 会根据类创建各种对象; 掌握对象的各种成员的使用方法。 2、实验内容 定义一个满足如下规定的Date类。 (1)用下面的格式输出日期:日/月/年; (2)可运营在日前上加一天操作; (3)设立日期。 参考代码: #include

12、 class Date { public: void Display(); void AddOneDay(); void SetDay(int y,int m,int d); protected: bool Legal(int y, int m, int d); bool IsLeapYear(int y); int year; int month; int day; }; void Date:

13、Display() { cout <

14、if(Legal(y,m,d)) day=d, month=m, year=y; } bool Date::Legal(int y, int m, int d) { if(y>9999||y<1||d<1||m<1||m>12) return false; int dayLimit=31; switch(m) case 4: case 6: case 9: case 11: dayLimit--; if(m==2) dayLimit = IsLeapYear(y) ? 29 : 28; return (d>dayLimit)?

15、 false : true; } bool Date::IsLeapYear(int y) { return !(y%4)&&(y%100)||!(y%400); } int main() { Date d; d.SetDay(2023,2,28); d.Display(); d.AddOneDay(); d.Display(); system("PAUSE"); } 运营结果: 实验3 继承与派生 1、实验目的: 理解继承的概念,学习如何使用基类成员,了解基类成员在派生类中的访问控制;

16、 理解类的派生对代码复用的作用。 2、实验内容: 设计一个人员类person和一个日期类date,由人员类派生出学生类Student和教师类professor,学生类和教师类的数据成员birthday为日期类。 参考代码: #include #include using namespace std; class date { public: date() { cout<<"Birthday:"; cin>>year>>month>>day

17、 } void display() { cout<

18、 char namestr[50]; cout<<"Name:"; cin>>namestr; name = new char[strlen(namestr)+1]; strcpy(name,namestr); } class student:public person { private: int ID; int score; date birthday; public: student() {

19、 cout<<"student ID:"; cin>>ID; cout<<"student score:"; cin>>score; } void display() { cout<<"The basic information:"<

20、 cout<>No; cout<<"schoolteaching major:"; cin>>major; } void display() {

21、 cout<<"The basic information:"<

22、nt stu; stu.display(); professor prof; prof.display(); system("PAUSE"); return 0; } 运营结果: 实验4多态 1、实验目的: 掌握函数的概念及应用方法; 理解多态性的运用和作用。 2、实验内容: 新建一个基类shape类是一个表达形状的抽象类,area( )为求图形面积的函数。请从shape类派出矩形类(rectangle)、三角形类(triangle)、圆类(circles)、并给出具体的求面积函数。 参考代码: #inclu

23、de #include using namespace std; class shape { public: virtual double area()=0; virtual void display() = 0; shape(){} }; class rectangle:public shape { public: rectangle(double a =1,double b=1) { x = a;

24、 y = b; } double area() { return x*y; } void display() { cout<

25、 public: triangle(double a =1,double b =1,double c=1) { x = a; y = b; z= c; } double area() { double l = (x+y+z)/2; return (sqrt((l-x)*(l-y)*(l-z)*l)); }

26、 void display() { cout<

27、uble area() { return 3.14*r*r; } void display() { cout<display(); p = new triangle(3,4,5); p

28、>display(); p = new circles(2); p->display(); system("PAUSE"); return 0; } 运营结果: 实验5 运算符重载 1、实验目的: 掌握运算符重载的概念及使用方法,掌握特殊运算符的重载规定和方法。 2、实验内容: 定义整数集合类intSet,实现如下功能: 定义类的构造函数,并根据需要可以定义多个构造函数。 (1)Clear函数:清空整数集合 (2)IsEmpty():整数集合是否空集; (3)IsMemberOf():判断某个整数是否在整数

29、集合内 (4)Operator+:增长一个整数到整数集合中 (5)Operator-:从整数集合中删除一个整数元素; (6)Operator==:判断两个整数集合是否相等; (7)Operator*:求两个整数结合的交集; (8)Operator+:求两个整数集合的交集; (9)Operator=:整数集合的对象之间的赋值; (10)Operator<<:输出整数集合中的元素。 提醒:类intSet可以用数组的方式定义整数集合。例如: int element[200]:保存整数集合数据; int ElementNum: 指示整数集合的最后一个元素位置 注意:一个整数集合中

30、不允许有相同元素存在,二是集合中的元素没有顺序。 参考代码: #include using namespace std; class intSet { public: intSet(); intSet(int a[],int size); void Clear(); bool IsEmpty(); bool IsMemberOf(int a); bool operator+(int a); bool operator-(in

31、t a); bool operator==(intSet & set); intSet operator+(intSet &set); intSet operator *(intSet &set); void operator = (intSet &set); friend ostream &operator<<(ostream &,intSet&); protected: int element[100]; int ElementNum; }; //初始化整数

32、集合元素 intSet::intSet() { for(int i = 0; i< 100; i++) element[i] = 0; ElementNum = -1; } intSet::intSet(int a[],int size) { if(size>=100) ElementNum = 99; else ElementNum = size -1; for(int i = 0;i<=ElementNum; i++) element[i] = a[i]; for(int i =size; i<100;i++)

33、 element[i ] = 0; } //清空整数集合元素 void intSet::Clear() { for(int i = 0;i<100;i++) { element[i] = 0; } ElementNum = -1; } //判断整数集合是否为空 bool intSet::IsEmpty() { if(ElementNum == -1) return false; else return true; } //判断元素是否在整数集合中 bool intSet::IsMemberOf(int a) { fo

34、r(int i= 0;i

35、 return true; } } } //从集合中删除一个元素 bool intSet::operator -(int a) { int pos; if(!IsMemberOf(a)) return false; for(int i = 0;i<=ElementNum;i++) { if(element[i]==a) { pos= i; break; } } for(int i = pos; i

36、]; ElementNum--; return true; } //判断两个整数集合是否相等 bool intSet::operator ==(intSet & set) { bool Equal; if(ElementNum!=set.ElementNum) return false; for(int i = 0;i<=ElementNum;i++) { Equal = false; for(int j = 0;j

37、[i]) { Equal = true; break; } } if(!Equal) return false; } return true; } //求两个集合的交集 intSet intSet::operator +(intSet&set) { int a[100],size = 0; for(int i = 0;i<=ElementNum;i++) for(int j = 0;j<=set.ElementNum;j++) { if(element[i]==set.element[j

38、]) { a[size] = element[i]; size++; break; } } return intSet(a,size); } //求两个集合的并集 intSet intSet::operator *(intSet &set) { int a[100],size; for(int i = 0;i<=ElementNum;i++) a[i] = element[i]; size = ElementNum +1; for(int i= 0;i<=set.ElementNum;i++) if(IsM

39、emberOf(set.element[i])) continue; else { if(size == 99) break; a[size] = set.element[i]; size++; } return intSet(a,size); } //整数集合对象间赋值 void intSet::operator =(intSet & set) { for(int i=0;i<=set.ElementNum;i++) element[i] = set.element[i]; ElementNum =

40、set.ElementNum; } //输出整数集合中的元素 ostream & operator<<(ostream &os,intSet &s) { for(int i=0;i<=s.ElementNum;i++) os<<"element["<

41、 cout< #include using namespace std;

42、class Student { private: long No; char *Name; int Score; public: Student(long stu_no=0,char*stu_name=NULL,int stu_score=0); long GetNo(); char *GetName(); int GetScore(); void ShowStudent(); }; Stude

43、nt::Student(long stu_no,char *stu_name,int stu_score) { No= stu_no; Name = stu_name; Score = stu_score; } void Student::ShowStudent() { cout<

44、 } int Student::GetScore() { return Score; } int main() { Student stu[3]={Student(,"Li ming",70), Student(,"Hu jun",80), Student(,"Wang tian",90)}; int i,k,pos; fstream infile,outfile; outfile.open("Students.dat",ios::out|ios::binary

45、ios::trunc); if(!outfile) { cerr<<"File open error!"<

46、n("Students.dat",ios::in|ios::binary); for(i = 0;i<3;i++) { infile.read((char*)&stu[i],sizeof(Student)); cout<

47、y); cout<<"please input the number of record:"; cin>>k; pos = (k-1)*sizeof(Student); infile.seekg(pos); infile.read((char*)&stu[i],sizeof(Student)); cout<

48、ut<<"Delete the Second record!"<

49、 for(i=0;i<2;i++) { infile.read((char*)&stu[i],sizeof(Student)); cout<

50、中类模板的使用方法; 2、实验内容: 设计一个类模板template,用于对T类型的数组停止求一切元素的和、查找指定的元素能否存在,假如存在,则返回其所在数组元素的下标值,否则返回-1 参考代码: #include #include using namespace std; template class CArray { private: T *m_pArray;//成员变量为动态数组的起始指针 int m_nArraySize; public: CArray(int siz

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服