ImageVerifierCode 换一换
格式:DOCX , 页数:21 ,大小:19.49KB ,
资源ID:2194363      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-2194363.html】到电脑端继续下载(重复下载不扣费)。

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

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(c++经典课后习题整理.docx)为本站会员(b****2)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

c++经典课后习题整理.docx

1、c+经典课后习题整理(1)设计一个Car类,他的数据成员要能描述一辆汽车的品牌、型号、出厂年份和价格,成员函数包括提供合适的途径来访问数据成员,在main()函数中定义类的对象并调用相应的成员函数#include#includeusing namespace std;class Carprivate: string Pingpai; string Xinghao; int Year; int Price;public:void set() coutshu ru xiang guan xin xiendl; coutPingpai; coutXinghao; coutYear; coutPric

2、e; void show() coutpingpai:Pingpaiendl; coutxinghao:Xinghaoendl; coutchuchangnianfen:Yearendl; coutjiage:Priceendl; ;int main() Car car;car.set ();car.show ();return 0;(2)设计一个学生类Student,拥有的数据成员是学号、姓名、电话号码、所属院系,成员函数包括访问和修改这些属性,在main()中定义对象,并输出相关信息#include #include using namespace std;class Student /学

3、号、姓名、电话号码、所属院系,成员函数包括访问和修改这些属性private: string xuehao; string name; string tel; string department;public: Student(string x,string n,string t,string d) xuehao=x; name=n; tel=t; department=d; void change(string x,string n,string t,string d)/修改属性 xuehao=x; name=n; tel=t; department=d; void display() cou

4、txuehao=xuehaoendl; coutname=nameendl; couttel=telendl; coutdepartment=departmenta; cinb; cinc; cind; Student s(a,b,c,d); s.display(); return 0;(3)设计一个学生类,包含学生呢个姓名、成绩(char *name;double score),设计一个友元函数,比较学生成绩的高低,并求出下一组学生:Stu(zhang),78,Stu(wang,80),Stu(li,65),Stu(chen,50)中的最高分和最低分#include#includeusing

5、 namespace std;class studentprivate:char *name;double score;public:student()student(char *na,double sc)name=na;score=sc;friend void order(student s); void order(student s) student tmp; int i,j; for(j=0;j3;j+) for(i=0;i3-j;i+) if(si.scoresi+1.score) tmp=si; si=si+1; si+1=tmp; cout分数由高到低排列:; for(i=0;i

6、4;i+) coutsi.name si.scoreendl; cout最高分:s0.name s0.scoreendl; cout最低分:s3.name s3.scoreendl;int main() student s4=student(zhang,78),student(wang,80),student(li,92),student(chen,50); order(s);(4)编写程序,定义机动车类Vehicle,包括的数据成员有出厂日期和售价并定义成员函数可以设置这些数据成员,再定义print()然后定义car类,增加乘客数量,truck类增加载重吨数.#include#include

7、using namespace std;class Vehicleprivate:int year,month,day;int price;public:Vehicle() coutplease input date: ; coutyear,month,day,year;cinmonth;cinday;coutprice;coutVehicleendl; virtual void print1() coutdate:year,month,day,endl; coutprice:priceendl;class Car:public Vehiclepublic:int amount;Car()co

8、utamount;coutcarendl; void print2() print1(); coutamount:amountendl;class Truck:public Vehiclepublic:int ton;Truck()coutton;couttruckendl;void print3() print1(); coutton:tonendl;int main()Vehicle V1;V1.print1();Car C1;C1.print2();Truck T1;T1.print3();return 0;(7-4)完整定义字符串类string,使用动态分配内存机制实现字符串存储,定义

9、构造函数,析构函数,重载运算符“=”,+,“+=”实现两个字符串的赋值,连接等功能。#include#includeusing namespace std;class Stringpublic: String(); String(char *t); String(String &t); String(); String operator=(String t); String operator+( String t); String operator +=(String t); void Show() coutpendl; private: char *p;String:String() p =

10、 new char1; *p = 0;String:String(char *t) p = new charstrlen(t)+1; strcpy(p,t);String:String(String &t) p = new charstrlen(t.p)+1; strcpy(p,t.p);String String:operator +(String t) char *pt; pt = new charstrlen(p)+strlen(t.p)+1; strcpy(pt,p); strcat(pt,t.p); String temp(pt); deletept; return temp;Str

11、ing String:operator +=(String t) char *i; i=new charstrlen(p)+1; strcpy(i,p); delete p;p=new charstrlen(t.p)+strlen(p)+1;strcpy(p,i);strcat(p,t.p);return *this;String:String() deletep;String String:operator =(String t) if(this = &t) return *this; deletep; p = new charstrlen(t.p)+1; strcpy(p,t.p); re

12、turn *this;void main() String s1(hello!); String s2(when.); String s3;s3=s2+s1;s3+=s2;s2=s1;s3.Show();s2.Show();(8-4)根据程序定义一个求3个数之间最大值的函数模板max。#include#includetemplateT max(T a,T b,T c) return (ab?a:b)c?(ab?a:b):c;int main() coutmax(11,29,22)endl; coutmax(3.14f,28.3f,6.7f)endl; coutmax(c,b,a)endl; r

13、eturn 0;(5)有一个学生类student,包括学生姓名、成绩,设计一个友元函数,输出成绩对应的等级:大于等于90:优;8090:良;7079:中;60!69:及格;小于60:不及格。#include #include class student char name10; int deg; public: student(char na,int d) strcpy(name,na); deg=d; friend void trans(student &s) if(s.deg=90) couts.name s.deg 优=80) couts.name s.deg 良=70) couts.n

14、ame s.deg 中=60) couts.name s.deg 及格endl; else couts.name s.deg 不及格endl; ; void main() student st=student(王华,78),student(李明,92),student(张伟,62),student(孙强,88); cout输出结果:endl; cout姓名 成绩 等级endl; for(int i=0;i4;i+) trans(sti); (6)编写一个程序,设计一个Point类,包括学号、姓名和成绩等私有数据成员,不含任何成员函数,只将main()设置为该类的友元函数。#includecla

15、ss point int no; char name10; int deg; public: friend void main();void main() point p; coutp.no; coutp.name; coutp.deg; cout输出结果endl; cout学生:p.nameendl; cout学号:p.noendl; cout成绩为:p.degendl;(7)创建一个学生类,包括学号和成绩,编程输入和显示学生信息,建立一个人类,包括姓名,性别,年龄,并作为学生的基类. #includeclass Person char name10; char sex; int age;p

16、ublic: void input() coutname; coutsex; coutage; void display() cout姓名:name,性别:sex,年龄:ageendl; ;class Student:public Person char sno10; int score;public: void input() Person:input(); coutsno; coutscore; void display() Person:display(); cout学号;sno,成绩:scoreendl; ;void main() Student s1; s1.input(); s1.

17、display();(8)按要求编程:某学校教授和讲师的月工资计算办法规定如下:教授每月固定工资为4000元。讲师每月工资与讲课学时数有关,计算方法是每学时50元,另加补助1000元。编程显示某个教员的月工资数目。#include class Teacherpublic: virtual int Salary()=0; virtual void Print(int)=0;class Professor:public Teacherprivate: char name20; int lessons;public: Professor() coutname; /字符串中不能有空格 int Sala

18、ry() return 4000; void Print(int money) cout职称:教授 姓名:name 薪水:moneyendlendl; ;class Lecturer:public Teacherprivate: char name20; int lessons;public: Lecturer() coutname; coutlessons; int Salary() return (1000+lessons*50); void Print(int money) cout职称:讲师 姓名:name薪水:moneyendlendl; ;void main() int money

19、=0; Professor t; money = t.Salary(); t.Print(money); Lecturer l; money = l.Salary(); l.Print(money);(9)1.给定一个int型数n,编程实现按不同进制输出,包括十进制数、八进制数、十六进制数。要求使用纯虚函数print()。十进制数 (dec) 十六进制数(hex)八进制数(oct)#include#includeint main()char ch16=0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F, output20;int input,temp,n,i=0;coutinput

20、;cout请输入要转换的进制(2=nn;input=fabs(input);while(input)他一边说一边笑。尖尖的铅笔 闪闪的星星 蓝蓝的天空temp=input%n;input=input/n;outputi+=chtemp;温暖的春天 炎热的夏天 凉爽的秋天 寒冷的冬天“越”的使用outputi=0;母亲 着急 认真. 得意 主意 同意 因为 阳光 办法 亲情 爱情cout转换为n=0;i-)一( 间)书房 一(群)羊 一(个)人 一(头 )牛coutoutputi;coutendl;(收)(放) (去)(来、回) 死(活) (答)(问)return 0;2、仔细观察画面,弄懂图意

21、。一(孔 )石桥 一(只 )船 一(颗 )枣 一( 把 )伞 两个或两个以上的函数,具有相同的函数名,但是形参的个数或者类型不同,编译器根据实参和形参的类型及个数进行最佳匹配,自动确定调用哪个函数,这就是函数的重载。 重写和重载,他们其实是实现类型多态(同一种方法,不同的对象会产生不同的结果)特性的基本技术之一.重写也叫做覆写,它存在与有继承关系的子类中,是在子类中重新定义父类具有相同方法签名的函数,使之有不同的实现要理解重写和重载的本质区别,实现要理解什么叫做具有相同签名的方法其实很简单,就是指相同的方法名,相同的参数列表(参数个数以及相同位置的参数类型相同)以及相同的函数返回值重写的一个重要特征就是必须要求方法的签名相同重写的基本特征:是一种运行时多态,又称为动态联编,只有在运行时才知道调用的是哪个方法存在于有继承关系的子类中,只有被virtual和abstract标记的虚方法和抽象方法才能被直接重写 用关键字override来标记重写这个方法的类的父类中有一个与这个方法签名相同的方法

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2