2023年c++编程题题库_第1页
2023年c++编程题题库_第2页
2023年c++编程题题库_第3页
2023年c++编程题题库_第4页
2023年c++编程题题库_第5页
已阅读5页,还剩33页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1.1编写一个基于对象的程序,规定:(1)定义一个时间类Time,类内有私有数据成员hour(小时)、minute(分钟)、sec(秒),公有成员函数set_time()、show_time()。(2)set_time()函数和show_time()函数在类内定义。set_time()作用是从键盘输入时间、分钟、秒的值,show_time()的作用是在屏幕上显示时间、分钟、秒的值。(3)在main()函数定义Time类的对象t1,并调用set_time()函数给时间赋值,调用show_time()函数输出时间的值。#include<iostream>usingnamespacestd;classTime{public:voidset_time(){cin>>hour;cin>>minute;cin>>sec;}voidshow_time(){cout<<hour<<":"<<minute<<":"<<sec<<endl;}private:inthour;intminute;intsec;};intmain(){Timet1;t1.set_time();t1.show_time();return0;}1.2编写一个基于对象的程序,求长方体的体积,规定:(1)定义一个长方体类Box,类内有私有数据成员lengh(长)、width(宽)、height(高),公有成员函数get_value()、volume()。(2)get_value()函数和volume()函数在类外定义。get_value()作用是从键盘输入长、宽、高的值,volume()的作用是计算长方体的体积并在屏幕上显示。(3)在main()函数定义Box类的对象box1,并调用get_value()函数给长、宽、高赋值,调用volume()函数输出长方体体积。#include<iostream>usingnamespacestd;classBox{public:voidget_value();voidvolume();private:floatlengh;floatwidth;floatheight;};voidBox::get_value(){cout<<"pleaseinputlengh,width,height:";cin>>lengh;cin>>width;cin>>height;}voidBox::volume(){cout<<"volmueofbox1is"<<lengh*width*height<<endl;}intmain(){Boxbox1;box1.get_value();box1.volume();return0;}1.3.编写一个基于对象的程序,求一个有十个数据的整型数组中元素的最大值,规定:(1)定义一个类Array_max,类内有私有数据成员array[10]、max分别存储十个整数、最大值,公有成员函数set_value()、max_volume()。(2)set_value()函数和max_volume()函数在类外定义。get_value()作用是从键盘输入数组十个元素的值,max_volume()的作用是求出并显示数组元素的最大值。(3)在main()函数定义Array_max类的对象arrmax,并调用set_value()函数给数组赋值,调用max_volume()函数求出并显示数组元素的最大值。#include<iostream>usingnamespacestd;classArray_max{public:voidset_value();voidmax_value();private:intarray[10];intmax;};voidArray_max::set_value(){inti;for(i=0;i<10;i++)cin>>array[i];}voidArray_max::max_value(){inti;max=array[0];for(i=1;i<10;i++)if(array[i]>max)max=array[i];cout<<"max="<<max;}intmain(){Array_maxarrmax;arrmax.set_value();arrmax.max_value();return0;}1.4编写一个程序,用成员函数重载运算符“+”,使之能用于两个复数相加。#include<iostream>usingnamespacestd;classComplex{public:Complex(){real=0;imag=0;}Complex(doubler,doublei){real=r;imag=i;}Complexoperator+(Complex&c2);voiddisplay();private:doublereal;doubleimag;};ComplexComplex::operator+(Complex&c2){Complexc;c.real=real+c2.real;c.imag=imag+c2.imag;returnc;}voidComplex::display(){cout<<"("<<real<<","<<imag<<"i)"<<endl;}intmain(){Complexc1(3,4),c2(5,-10),c3;c3=c1+c2;cout<<"c1=";c1.display();cout<<"c2=";c2.display();cout<<"c1+c2=";c3.display();return0;}1.5编写一个程序,用友元函数重载运算符“+”,使之能用于两个复数相加。#include<iostream.h>classComplex{public:Complex(){real=0;imag=0;}Complex(doubler){real=r;imag=0;}Complex(doubler,doublei){real=r;imag=i;}friendComplexoperator+(Complex&c1,Complex&c2);voiddisplay();private:doublereal;doubleimag;};Complexoperator+(Complex&c1,Complex&c2){returnComplex(c1.real+c2.real,c1.imag+c2.imag);}voidComplex::display(){cout<<"("<<real<<","<<imag<<"i)"<<endl;}intmain(){Complexc1(3,4),c2(5,-10),c3;c3=c1+c2;cout<<"c1=";c1.display();cout<<"c2=";c2.display();cout<<"c1+c2=";c3.display();return0;}1.6编写一个基于对象的程序,求圆球的体积,规定:(1)定义一个圆球类Circle,类内有私有数据成员radius(半径),公有成员函数get_value()、volume()。(2)get_value()函数和volume()函数在类外定义。get_value()作用是从键盘输入半径的值,volume()的作用是计算圆球的体积并在屏幕上显示。(圆球体积计算公式为:v=4/3πr3)(3)在main()函数定义Circle类的对象circle1,并调用get_value()函数给球半径赋值,调用volume()函数输出圆球的体积。#include<iostream>usingnamespacestd;classCircle{public:voidget_value();voidvolume();private:floatradius;};voidCircle::get_value(){cout<<"pleaseinputradius:";cin>>radius;}voidCircle::volume(){cout<<"volmueofcircle1is"<<4.0/3*3.14159*radius*radius*radius<<endl;}intmain(){Circlecircle1;circle1.get_value();circle1.volume();return0;}1.7编写一个基于对象的程序,规定:(1)定义一个日期类Date,类内有私有数据成员year(年)、month(月)、day(日),公有成员函数set_date()、show_date()。(2)set_date()函数和show_date()函数在类外定义。set_date()作用是从键盘输入年、月、日的值,show_date()的作用是在屏幕上显示年、月、日的值。(3)在main()函数定义Date类的对象d1,并调用set_date()函数给日期赋值,调用show_date()函数输出日期的值。#include<iostream>usingnamespacestd;classDate{public:voidset_date();voidshow_date();private:intyear;intmonth;intday;};voidDate::set_date(){cin>>year;cin>>month;cin>>day;}voidDate::show_date(){cout<<year<<"-"<<month<<"-"<<day<<endl;}intmain(){Dated1;d1.set_date();d1.show_date();return0;}2.1编写一个面向对象的程序,规定:(1)定义一个基类Student,类内有私有数据成员num(学号)、name(姓名)、sex(性别),公有成员函数get_value()、display(),get_value()作用是从键盘给num、name、sex赋值,display()的作用是显示num、name、sex的值。(2)定义一个派生类Student1,Student1公有继承自Student类。Student1类新增私有数据成员age(年龄)、addr(地址),新增公有成员函数get_value_1()、display_1()。get_value_1()的作用是实现从键盘给num、name、sex、age、addr赋值,display_1()的作用是显示num、name、sex、age、addr的值。(3)在main()函数定义Student1类的对象stud1,并调用get_value_1()函数给对象赋值,调用display_1()函数显示学生的所有信息。#include<iostream>usingnamespacestd;classStudent{public:voidget_value(){cin>>num>>name>>sex;}voiddisplay(){cout<<"num:"<<num<<endl;cout<<"name:"<<name<<endl;cout<<"sex:"<<sex<<endl;}private:intnum;charname[10];charsex;};classStudent1:publicStudent{public:voidget_value_1(){get_value();cin>>age>>addr;}voiddisplay_1(){display(); cout<<"age:"<<age<<endl;cout<<"address:"<<addr<<endl;}private:intage;charaddr[30];};intmain(){Student1stud1;stud1.get_value_1();stud1.display_1();return0;}2.2编写一个面向对象的程序,规定:(1)定义一个基类Student,类内有私有数据成员num(学号)、name(姓名)、sex(性别),公有成员函数get_value()、display(),get_value()作用是从键盘给num、name、sex赋值,display()的作用是显示num、name、sex的值。(2)定义一个派生类Student1,Student1私有继承自Student类。Student1类新增私有数据成员age(年龄)、addr(地址),新增公有成员函数get_value_1()、display_1()。get_value_1()的作用是实现从键盘给num、name、sex、age、addr赋值,display_1()的作用是显示num、name、sex、age、addr的值。(3)在main()函数定义Student1类的对象stud1,并调用get_value_1()函数给对象赋值,调用display_1()函数显示学生的所有信息。#include<iostream>usingnamespacestd;classStudent{public:voidget_value(){cin>>num>>name>>sex;}voiddisplay(){cout<<"num:"<<num<<endl;cout<<"name:"<<name<<endl;cout<<"sex:"<<sex<<endl;}private:intnum;charname[10];charsex;};classStudent1:privateStudent{public:voidget_value_1(){get_value();cin>>age>>addr;}voiddisplay_1(){display();cout<<"age:"<<age<<endl;cout<<"address:"<<addr<<endl;}private:intage;charaddr[30];};intmain(){Student1stud1;stud1.get_value_1();stud1.display_1();return0;}2.3编写一个面向对象的程序,规定:(1)定义一个基类Student,类内有私有数据成员num(学号)、name(姓名)、sex(性别),公有成员函数get_value()、display(),get_value()作用是从键盘给num、name、sex赋值,display()的作用是显示num、name、sex的值。(2)定义一个派生类Student1,Student1保护继承自Student类。Student1类新增私有数据成员age(年龄)、addr(地址),新增公有成员函数get_value_1()、display_1()。get_value_1()的作用是实现从键盘给num、name、sex、age、addr赋值,display_1()的作用是显示num、name、sex、age、addr的值。(3)在main()函数定义Student1类的对象stud1,并调用get_value_1()函数给对象赋值,调用display_1()函数显示学生的所有信息。#include<iostream>usingnamespacestd;classStudent{public:voidget_value(){cin>>num>>name>>sex;}voiddisplay(){cout<<"num:"<<num<<endl;cout<<"name:"<<name<<endl;cout<<"sex:"<<sex<<endl;}private:intnum;charname[10];charsex;};classStudent1:protectedStudent{public:voidget_value_1(){get_value();cin>>age>>addr;}voiddisplay_1(){display();cout<<"age:"<<age<<endl;cout<<"address:"<<addr<<endl;}private:intage;charaddr[30];};intmain(){Student1stud1;stud1.get_value_1();stud1.display_1();return0;}2.4编写一个面向对象的程序,规定:(1)定义一个基类Student,类内有保护数据成员num(学号)、name(姓名)、sex(性别),公有成员涉及构造函数、show()函数。构造函数带3个参数用于定义对象时赋初值,show()函数作用是显示学生信息,即num、name、sex的值。(2)定义一个派生类Student1,Student1公有继承自Student类。Student1类新增私有数据成员age(年龄)、addr(地址),新增公有成员涉及构造函数、show()函数。构造函数带5个参数用于定义对象时赋初值,show()函数作用是显示学生信息,即num、name、sex、age、addr的值。(3)在main()函数定义Student1类的对象stud1并赋初值,调用show()函数显示该学生的所有信息。#include<iostream>#include<string>usingnamespacestd;classStudent{public:Student(intn,stringnam,chars){num=n;name=nam;sex=s;}voidshow(){cout<<"num:"<<num<<endl;cout<<"name:"<<name<<endl;cout<<"sex:"<<sex<<endl;}protected:intnum;stringname;charsex;};classStudent1:publicStudent{public:Student1(intn,stringnam,chars,inta,charad[]):Student(n,nam,s){age=a;addr=ad;}voidshow(){Student::show();cout<<"age:"<<age<<endl;cout<<"address:"<<addr<<endl<<endl;}private:intage;stringaddr;};intmain(){Student1stud1(10010,"Wang-li",'f',19,"115BeijingRoad,Shanghai");stud1.show();return0;}2.5编写一个面向对象的程序,规定:(1)定义一个基类Student,类内有保护数据成员num(学号)、name(姓名),公有成员涉及构造函数、show()函数。构造函数带2个参数用于定义对象时赋初值,show()函数作用是显示学生信息,即num、name的值。(2)定义一个派生类Student1,Student1公有继承自Student类。Student1类新增私有数据成员age(年龄)、addr(地址)以及子对象monitor(班长,Student类型),新增公有成员涉及构造函数、show()函数。构造函数带6个参数用于定义对象时赋初值,show()函数作用是显示学生的所有信息,即本人的num、name、age、addr以及班长的num、name。(3)在main()函数定义Student1类的对象stud1并赋初值,调用show()函数显示该学生的所有信息。#include<iostream>#include<string>usingnamespacestd;classStudent{public:Student(intn,stringnam){num=n;name=nam;}voidshow(){cout<<"num:"<<num<<endl;cout<<"name:"<<name<<endl;}protected:intnum;stringname;};classStudent1:publicStudent{public:Student1(intn,stringnam,intn1,stringnam1,inta,stringad):Student(n,nam),monitor(n1,nam1){age=a;addr=ad;}voidshow(){cout<<"Thisstudentis:"<<endl;ﻩStudent::show();cout<<"age:"<<age<<endl;cout<<"address:"<<addr<<endl<<endl;ﻩcout<<"Classmonitoris:"<<endl;monitor.show();}private:Studentmonitor;intage;stringaddr;};intmain(){Student1stud1(10010,"Wang-li",10001,"Li-sun",19,"115BeijingRoad,Shanghai");stud1.show();return0;}2.6写一个面向对象的程序,定义抽象基类Shape,由它派生出2个类:Circle(圆形)、Rectangle(矩形),显示两个图形的面积。规定:(1)抽象基类Shape的公有成员有纯虚函数area()。(2)Circle类公有继承自Shape类,新增数据成员radius(半径),公有成员有构造函数和求圆面积的area()函数。(3)Rectangle类公有继承自Shape类,新增数据成员length(长)、width(宽),公有成员有构造函数和求矩形面积的area()函数。(4)在main()函数定义Circle类的对象circle1并赋初值,调用area()函数显示该圆面积;定义Rectangle类的对象rectangle1并赋初值,调用area()函数显示该矩形面积。#include<iostream>usingnamespacestd;classShape{public:virtualdoublearea()const=0;};classCircle:publicShape{public:Circle(doubler):radius(r){}virtualdoublearea()const{return3.14159*radius*radius;};protected:doubleradius;};classRectangle:publicShape{public:Rectangle(doublel,doublew):length(l),width(w){}virtualdoublearea()const{returnlength*width;}protected:doublelength,width;};intmain(){Circlecircle(2.5);cout<<"areaofcircle="<<circle.area()<<endl;Rectanglerectangle(2,4);cout<<"areaofrectangle="<<rectangle.area()<<endl;return0;}2.7写一个面向对象的程序,定义抽象基类Shape,由它派生出2个类:Square(正方形)、Triangle(三角形),显示两个图形的面积。规定:(1)抽象基类Shape的公有成员有纯虚函数area()。(2)Square类公有继承自Shape类,新增数据成员side(边长),公有成员有构造函数和求正方形积的area()函数。(3)Triangle类公有继承自Shape类,新增数据成员side(边长)、height(高),公有成员有构造函数和求三角形面积的area()函数。(4)在main()函数定义Square类的对象square1并赋初值,调用area()函数显示该正方形面积;定义Triangle类的对象triangle1并赋初值,调用area()函数显示该三角形面积。#include<iostream>usingnamespacestd;classShape{public:virtualdoublearea()const=0;};classSquare:publicShape{public:Square(doubles):side(s){}virtualdoublearea()const{returnside*side;}protected:doubleside;};classTriangle:publicShape{public:Triangle(doubles,doubleh):side(s),height(h){}

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论