已阅读5页,还剩27页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
C+上机指导部分参考答案 3编写一个函数,用来求三个数的乘积,并在主函数中调用 此函数。 (1) 用不带默认参数的函数实现。 (2) 用带默认参数的函数实现(传递1个参数,乘积为所传 递的参数;传递2个参数,则为该2个参数的乘积;传递3个参 数,则为该3个参数乘积)。 对比两种方法,分析使用带默认参数的函数的优点和应用场 合。总结如何选择默认参数的值。请分析本题中默认参数的值 应该在什么范围选取 答案: #include int fun(int x,int y,int z) return x*y*z; void main() int x,z,y; coutxyz; cout*p2) temp=*p1; *p1=*p2; *p2=temp; if(*p1*p3) temp=*p1; *p1=*p3; *p3=temp; if(*p2*p3) temp=*p2; *p2=*p3; *p3=temp; int main() float a,b,c; cinabc; fun( coutp2) temp=p1; p1=p2; p2=temp; if(p1p3) temp=p1; p1=p3; p3=temp; if(p2p3) temp=p2; p2=p3; p3=temp; int main() float a,b,c; cinabc; fun(a,b,c); couthour; void setMinute()cinminute; void setSecond() cinsecond; void show() coutsize = size; data = new intsize; intStack:intStack() delete data; bool intStack:Push(int elem) if(top = size - 1) return false; else data+top = elem; return true; bool intStack:Pop(int else elem = datatop; datatop-; return true; int intStack:Length( ) const /获取栈中元素的个数 return size; int main() int n=0; intStack s; for(int i=0;in; s.Push(n); for( i=0;i m_title; cout m_name; cout m_price; cout y; m_data.inputYear( y ); cout y; m_data.inputMon( y ); cout y; m_data.inutDay( y ); void Publication:display() m_data.displayDate(); cout m_page; class Playtime private: int m_hour; int m_min; int m_sec; public: Playtime() Playtime( int h, int m, int s ) m_sec = s; m_min = m; m_hour = h; Playtime() int gethour() const return m_hour; int getMin() const return m_min; int getSec() const return m_sec; void input( int h, int m, int s ) m_sec = s; m_min = m; m_hour = h; ; class Tape : public Publication private: Playtime m_playtime; public: Tape() Tape( char *title,char *name,double price,Date date,Playtime time ); Tape() void inputdate(); void display(); Tape:Tape( char *title,char *name,double price,Date date,Playtime time ) :Publication( title, name, price, date ),m_playtime(time) void Tape:inputdate() Publication:inputdate(); cout hour; int min; cout min; cout sec; m_playtime.input( hour, min, sec ); int main() return 0; 3分别定义教师类Teacher和干部类Cadre,采用多重继承的方式由这两 个类派生出新类Teacher_Cadre(教师兼干部类)。要求: (1)在两个基类中都包含姓名、年龄、性别、地址、电话数据成员。 (2)在Teacher类中还包含数据成员职称title,在Cadre类中还包含数据 成员职务post,在Teacher_Cadre类中还包含数据成员工资wage。 (3)对两个基类中的姓名、年龄、性别、地址、电话数据成员用相同 的名字,在访问这类数据成员时,指定作用域。 (4)在类体中声明成员函数,在类外定义成员函数。 (5)在派生类Teacher_Cadre的成员函数show中调用Teacher类中的 display函数,输出姓名、年龄、性别、地址、电话,然后再用cout语句 输出职务和工资。 答案:#include #include using namespace std; class Teacher private: char name20; int age; char title20; char sex20; char address100; char tel20; public: void initTeacher(char nam,int ag,char tit,char se,char add,char t) age=ag; strcpy(sex,se); strcpy(name,nam); strcpy(title,tit); strcpy(address,add); strcpy(tel,t); void display(); ; void Teacher:display() coutnunacem; si.modify(c,e,m,nu,na); for(i=0;i namestr; emp i-SetName (namestr); emp i-promote (); cout hours; t1.SetworkHours (hours); cout sale; sm1.Setsales (sale); cout sale; s1.Setsales (sale); for ( i=0; ipay (); cout b.year)return 1; if(yearb.month)return 1; if(monthb.day)return 1; return 0; date operator+(int d) date temp=*this; temp.day+=d; if(temp.year%4=0 else sheet2=28; while(temp.daysheettemp.month) temp.day-=sheettemp.month; temp.month+; if(temp.month12) temp.month=1; temp.year+; if(temp.year%4=0 else sheet2=28; return temp; int operator-(date sub) int dd=0; date big,small; if(*thissub)big=*this;small=sub; else small=*this;big=sub; while(small.yearstop(); int main() vehicle v; bicycle b; motorcar m; motorcycle bm; v.run(); v.stop(); b.run(); b.stop(); m.run(); m.stop(); bm.run(); bm.stop(); fun( fun( fun( fun( 0; 23 设计一个函数模板,实现两数的交换,并用int、float、 double、char类型的数据进行测试。 #include using namespace std; template void swapX(T a = b; b = temp; int main() int a = 5; int b = 7; swapX(a, b); cout a “ “ b endl; char c = m; char d = n; swapX(c, d); cout c “ “ d endl; float e = 1.0f; float f = 2.0f; swapX(e, f); cout e “ “ f endl; return 0; 24 设计一个函数模板,实现从int、float、double类型的数组找 出最大值元素。提示:可用类型参数传递数组、用非类型参数传递数组 大小。 #include using namespace std; template T max(T a, int n) int j; T m; m = a0; for(j=1; jn; j+) if(m aj) m = aj; retur
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025标准版白酒行业劳动合同范本下载
- 2025版消化性溃疡常见症状及护理原则解析
- 重症医学科呼吸机功能调试技术培训
- 2025版结直肠癌症状与护理建议
- 电工技能测试题库及答案
- 2025年国际档案日档案知识竞赛题库(附答案)
- 防尘专项施工方案
- 2025年安全教育试题库及答案
- 肠外营养药物配置
- 大学生营养早餐
- 2025年高校辅导员考试基础知识试题及答案
- 2025广东清远市纪委市监委纪律审查管理中心招聘17人考试参考题库及答案解析
- 紧固件包装培训知识总结
- DB51-T 3299-2025 数据资产登记规范
- 2025年专升本政治真题及答案
- 公司适用法律法规标准清单2025年08月更新
- 国家中医药管理局《中医药事业发展“十五五”规划》全文
- 企业财务管理咨询
- Unit 2 Lesson 3 Running and Fitness课件-高中英语北师大版必修第一册
- 电影与女性主义(电影理论课程课件)
- 北师大版小学三年级英语下册Unit9 Numbers (第二课时)教学设计
评论
0/150
提交评论