2023年c++編程題題庫_第1頁
2023年c++編程題題庫_第2頁
2023年c++編程題題庫_第3頁
2023年c++編程題題庫_第4頁
2023年c++編程題題庫_第5頁
已閱讀5頁,還剩33頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

1.1編寫一個基于對象的程序,規(guī)定:(1)定義一個時間類Time,類內(nèi)有私有數(shù)據(jù)成員hour(小時)、minute(分鐘)、sec(秒),公有成員函數(shù)set_time()、show_time()。(2)set_time()函數(shù)和show_time()函數(shù)在類內(nèi)定義。set_time()作用是從鍵盤輸入時間、分鐘、秒的值,show_time()的作用是在屏幕上顯示時間、分鐘、秒的值。(3)在main()函數(shù)定義Time類的對象t1,并調(diào)用set_time()函數(shù)給時間賦值,調(diào)用show_time()函數(shù)輸出時間的值。#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編寫一個基于對象的程序,求長方體的體積,規(guī)定:(1)定義一個長方體類Box,類內(nèi)有私有數(shù)據(jù)成員lengh(長)、width(寬)、height(高),公有成員函數(shù)get_value()、volume()。(2)get_value()函數(shù)和volume()函數(shù)在類外定義。get_value()作用是從鍵盤輸入長、寬、高的值,volume()的作用是計算長方體的體積并在屏幕上顯示。(3)在main()函數(shù)定義Box類的對象box1,并調(diào)用get_value()函數(shù)給長、寬、高賦值,調(diào)用volume()函數(shù)輸出長方體體積。#include<iostream>usingnamespacestd;classBox{public:voidget_value();voidvolume();privat(yī)e: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.編寫一個基于對象的程序,求一個有十個數(shù)據(jù)的整型數(shù)組中元素的最大值,規(guī)定:(1)定義一個類Array_max,類內(nèi)有私有數(shù)據(jù)成員array[10]、max分別存儲十個整數(shù)、最大值,公有成員函數(shù)set_value()、max_volume()。(2)set_value()函數(shù)和max_volume()函數(shù)在類外定義。get_value()作用是從鍵盤輸入數(shù)組十個元素的值,max_volume()的作用是求出并顯示數(shù)組元素的最大值。(3)在main()函數(shù)定義Array_max類的對象arrmax,并調(diào)用set_value()函數(shù)給數(shù)組賦值,調(diào)用max_volume()函數(shù)求出并顯示數(shù)組元素的最大值。#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編寫一個程序,用成員函數(shù)重載運算符“+”,使之能用于兩個復(fù)數(shù)相加。#include<iostream>usingnamespacestd;classComplex{public:Complex(){real=0;imag=0;}Complex(doubler,doublei){real=r;imag=i;}Complexoperator+(Complex&c2);voiddisplay();privat(yī)e: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編寫一個程序,用友元函數(shù)重載運算符“+”,使之能用于兩個復(fù)數(shù)相加。#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;};Complexoperat(yī)or+(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編寫一個基于對象的程序,求圓球的體積,規(guī)定:(1)定義一個圓球類Circle,類內(nèi)有私有數(shù)據(jù)成員radius(半徑),公有成員函數(shù)get_value()、volume()。(2)get_value()函數(shù)和volume()函數(shù)在類外定義。get_value()作用是從鍵盤輸入半徑的值,volume()的作用是計算圓球的體積并在屏幕上顯示。(圓球體積計算公式為:v=4/3πr3)(3)在main()函數(shù)定義Circle類的對象circle1,并調(diào)用get_value()函數(shù)給球半徑賦值,調(diào)用volume()函數(shù)輸出圓球的體積。#include<iostream>usingnamespacestd;classCircle{public:voidget_value();voidvolume();private:float(yī)radius;};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編寫一個基于對象的程序,規(guī)定:(1)定義一個日期類Date,類內(nèi)有私有數(shù)據(jù)成員year(年)、month(月)、day(日),公有成員函數(shù)set_date()、show_dat(yī)e()。(2)set_date()函數(shù)和show_date()函數(shù)在類外定義。set_date()作用是從鍵盤輸入年、月、日的值,show_date()的作用是在屏幕上顯示年、月、日的值。(3)在main()函數(shù)定義Date類的對象d1,并調(diào)用set_date()函數(shù)給日期賦值,調(diào)用show_date()函數(shù)輸出日期的值。#include<iostream>usingnamespacestd;classDate{public:voidset_date();voidshow_dat(yī)e();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編寫一個面向?qū)ο蟮某绦?規(guī)定:(1)定義一個基類Student,類內(nèi)有私有數(shù)據(jù)成員num(學(xué)號)、name(姓名)、sex(性別),公有成員函數(shù)get_value()、display(),get_value()作用是從鍵盤給num、name、sex賦值,display()的作用是顯示num、name、sex的值。(2)定義一個派生類Student1,Student1公有繼承自Student類。Student1類新增私有數(shù)據(jù)成員age(年齡)、addr(地址),新增公有成員函數(shù)get_value_1()、display_1()。get_value_1()的作用是實現(xiàn)從鍵盤給num、name、sex、age、addr賦值,display_1()的作用是顯示num、name、sex、age、addr的值。(3)在main()函數(shù)定義Student1類的對象stud1,并調(diào)用get_value_1()函數(shù)給對象賦值,調(diào)用display_1()函數(shù)顯示學(xué)生的所有信息。#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編寫一個面向?qū)ο蟮某绦颍?guī)定:(1)定義一個基類Student,類內(nèi)有私有數(shù)據(jù)成員num(學(xué)號)、name(姓名)、sex(性別),公有成員函數(shù)get_value()、display(),get_value()作用是從鍵盤給num、name、sex賦值,display()的作用是顯示num、name、sex的值。(2)定義一個派生類Student1,Student1私有繼承自Student類。Student1類新增私有數(shù)據(jù)成員age(年齡)、addr(地址),新增公有成員函數(shù)get_value_1()、display_1()。get_value_1()的作用是實現(xiàn)從鍵盤給num、name、sex、age、addr賦值,display_1()的作用是顯示num、name、sex、age、addr的值。(3)在main()函數(shù)定義Student1類的對象stud1,并調(diào)用get_value_1()函數(shù)給對象賦值,調(diào)用display_1()函數(shù)顯示學(xué)生的所有信息。#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編寫一個面向?qū)ο蟮某绦颍?guī)定:(1)定義一個基類Student,類內(nèi)有私有數(shù)據(jù)成員num(學(xué)號)、name(姓名)、sex(性別),公有成員函數(shù)get_value()、display(),get_value()作用是從鍵盤給num、name、sex賦值,display()的作用是顯示num、name、sex的值。(2)定義一個派生類Student1,Student1保護繼承自Student類。Student1類新增私有數(shù)據(jù)成員age(年齡)、addr(地址),新增公有成員函數(shù)get_value_1()、display_1()。get_value_1()的作用是實現(xiàn)從鍵盤給num、name、sex、age、addr賦值,display_1()的作用是顯示num、name、sex、age、addr的值。(3)在main()函數(shù)定義Student1類的對象stud1,并調(diào)用get_value_1()函數(shù)給對象賦值,調(diào)用display_1()函數(shù)顯示學(xué)生的所有信息。#include<iostream>usingnamespacestd;classStudent{public:voidget_value(){cin>>num>>name>>sex;}voiddisplay(){cout<<"num:"<<num<<endl;cout<<"name:"<<name<<endl;cout<<"sex:"<<sex<<endl;}privat(yī)e: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編寫一個面向?qū)ο蟮某绦颍?guī)定:(1)定義一個基類Student,類內(nèi)有保護數(shù)據(jù)成員num(學(xué)號)、name(姓名)、sex(性別),公有成員涉及構(gòu)造函數(shù)、show()函數(shù)。構(gòu)造函數(shù)帶3個參數(shù)用于定義對象時賦初值,show()函數(shù)作用是顯示學(xué)生信息,即num、name、sex的值。(2)定義一個派生類Student1,Student1公有繼承自Student類。Student1類新增私有數(shù)據(jù)成員age(年齡)、addr(地址),新增公有成員涉及構(gòu)造函數(shù)、show()函數(shù)。構(gòu)造函數(shù)帶5個參數(shù)用于定義對象時賦初值,show()函數(shù)作用是顯示學(xué)生信息,即num、name、sex、age、addr的值。(3)在main()函數(shù)定義Student1類的對象stud1并賦初值,調(diào)用show()函數(shù)顯示該學(xué)生的所有信息。#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編寫一個面向?qū)ο蟮某绦颍?guī)定:(1)定義一個基類Student,類內(nèi)有保護數(shù)據(jù)成員num(學(xué)號)、name(姓名),公有成員涉及構(gòu)造函數(shù)、show()函數(shù)。構(gòu)造函數(shù)帶2個參數(shù)用于定義對象時賦初值,show()函數(shù)作用是顯示學(xué)生信息,即num、name的值。(2)定義一個派生類Student1,Student1公有繼承自Student類。Student1類新增私有數(shù)據(jù)成員age(年齡)、addr(地址)以及子對象monitor(班長,Student類型),新增公有成員涉及構(gòu)造函數(shù)、show()函數(shù)。構(gòu)造函數(shù)帶6個參數(shù)用于定義對象時賦初值,show()函數(shù)作用是顯示學(xué)生的所有信息,即本人的num、name、age、addr以及班長的num、name。(3)在main()函數(shù)定義Student1類的對象stud1并賦初值,調(diào)用show()函數(shù)顯示該學(xué)生的所有信息。#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寫一個面向?qū)ο蟮某绦?,定義抽象基類Shape,由它派生出2個類:Circle(圓形)、Rectangle(矩形),顯示兩個圖形的面積。規(guī)定:(1)抽象基類Shape的公有成員有純虛函數(shù)area()。(2)Circle類公有繼承自Shape類,新增數(shù)據(jù)成員radius(半徑),公有成員有構(gòu)造函數(shù)和求圓面積的area()函數(shù)。(3)Rectangle類公有繼承自Shape類,新增數(shù)據(jù)成員length(長)、width(寬),公有成員有構(gòu)造函數(shù)和求矩形面積的area()函數(shù)。(4)在main()函數(shù)定義Circle類的對象circle1并賦初值,調(diào)用area()函數(shù)顯示該圓面積;定義Rectangle類的對象rectangle1并賦初值,調(diào)用area()函數(shù)顯示該矩形面積。#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.a(chǎn)rea()<<endl;return0;}2.7寫一個面向?qū)ο蟮某绦?,定義抽象基類Shape,由它派生出2個類:Square(正方形)、Triangle(三角形),顯示兩個圖形的面積。規(guī)定:(1)抽象基類Shape的公有成員有純虛函數(shù)area()。(2)Square類公有繼承自Shape類,新增數(shù)據(jù)成員side(邊長),公有成員有構(gòu)造函數(shù)和求正方形積的area()函數(shù)。(3)Triangle類公有繼承自Shape類,新增數(shù)據(jù)成員side(邊長)、height(高),公有成員有構(gòu)造函數(shù)和求三角形面積的area()函數(shù)。(4)在main()函數(shù)定義Square類的對象square1并賦初值,調(diào)用area()函數(shù)顯示該正方形面積;定義Triangle類的對象triangle1并賦初值,調(diào)用area()函數(shù)顯示該三角形面積。#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. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論