導航:首頁 > 編程語言 > 面向對象程序設計練習題

面向對象程序設計練習題

發布時間:2025-08-18 11:46:10

⑴ 面向對象程序設計第2章

《面向對象程序設計》第02章在線測試

第一題、單項選穗高擇題(每題1分,5道題共5分)
1、假定AB為一個類,則執行 「AB r1=r2;」語句時將自動調用該類的( D)。
A、無參構造函數 B、帶參構造函數
C、賦值重載函數 D、拷貝構造含族野函數
2、一段程序的定義如下,在函數f()中將動態對象的成員n的值改為34的語句應該為 (C ) class A { int n; public: setn(int nl) {n=nl;} A(int x) {n = x; } } int f() {A * ptr = new A(45);... }
A、A.n=34; B、ptr.setn(34);
C、ptr->setn(34); D、setn(34);
3、假定AB為一個類,則執行「AB p=new AB(1,2);」語句時共調用該類構造函數的次數為(B )。
A、0 B、1
C、2 D、3
4、假定AB為一個類,px為指向該類的一個含有n個對象的動態數組的指針,則執行「delete []px;」語句時共調用該類析構函數的次數為(C )。
A、0 B、1
C、n D、n+1
5、假定AA是一個類,abc是該類的一個成員函數,則參數表中隱含的第一個參數為( B)。
A、abc B、
this
C、this D、this&
第二題、多項選擇題(每題2分,5道題共10分)
1、定義析構函數時,錯誤的說法是 (BD) 。
A、其名與類名完全相同
B、返回類型是 void 類型
C、無形參,也不可重載
D、函數體中必須有 delete 語句
2、假定AA為一個類,a為該類私有的數據成員,GetValue()為該類公有函數成員,它返回a的值,x為該類的一個對象,則訪問x對象中數據成員a的語句錯誤的是(ABC)。
A、x.a
B、x.a()
C、x->GetValue()
D、x.GetValue()
3、下面關於構造函數的說法正確的是(AB)
A、構造函數的函數名與類名相同
B、構造函數可以重載
C、構造函數不可以設置默認參數
D、構造函數必須指定類型說明
4、下面關於成員函數的說法錯誤的是(ACD)
A、類定義中只能說明函數成員的函數頭,不能定義函數體
B、類中的函數成員可以在類體中定義,也可以在類體之外定義
C、類中的函數成員在類體之外定義時必須要與類聲明在同一文件
D、在類體之外定義的函數成員不能操作該類的私有數據成員
5、假定AB為一個類,則執行 「AB *s=new AB(a,5);」語句的結果是(BCD)
A、動態生成對象AB賦值給變數s
B、動態生成對象s
C、如果對象AB中有公有成員a,則s->a可以訪問該成員
D、動態生成對象AB,該對象的地址賦值給變數s
第三題、判斷題(每題1分,5道題共5分)
1、 若Sample類中的一個成員函數說明如下: Void set(Sample &a) 其中Sample &a表示的含義是.a是類Sample的對象引用,用來作函數談喊Set()的形參。 T
正確 錯誤
2、 假定AA為一個類,a為該類公有的數據成員,x為該類的一個對象,則訪問x對象中數據成員a的格式為x->a。 F
正確 錯誤
3、 靜態成員函數允許訪問類的數據成員。T
正確 錯誤
4、 建立類的對象時,先調用各個對象成員的構造函數,初始化相應的對象成員,然後才執行類的構造函數,初始化類中其他成員。T
正確 錯誤
5、 this是一個隱含於每一個類的成員函數的特殊指針,它是一個指向正在被某個成員函數操作的對象的指針。T
正確 錯誤

java面向對象,編程題,謝謝!

第一種:

publicstaticvoidmain(Stringargs[]){
Scannerscn=newScanner(System.in);
System.out.print("第一個數:");
inta=scn.nextInt();
System.out.print("操作(+,-,*,/):");
Stringoption=scn.next();
System.out.print("第二個數:");
intb=scn.nextInt();
intresult=0;
if("+".equals(option)){
result=a+b;
}
if("-".equals(option)){
result=a-b;
}
if("*".equals(option)){
result=a*b;
}
if("/".equals(option)){
result=a/b;
}
System.out.println("結果:"+result);
}

第二種:

publicstaticvoidmain(Stringargs[]){
Scannerscn=newScanner(System.in);
System.out.print("請輸入第一個數:");
intoNumFirst=scn.nextInt();
System.out.print("請輸入操作方式(+,-,*,/):");
Stringoption=scn.next();
System.out.print("請輸入第二個數:");
intoNumSecond=scn.nextInt();
intresult=0;
switch(option){
case"+":
result=oNumFirst+oNumSecond;
break;
case"-":
result=oNumFirst-oNumSecond;
break;
case"*":
result=oNumFirst*oNumSecond;
break;
case"/":
try{
result=oNumFirst/oNumSecond;
}catch(ArithmeticExceptione){
e.printStackTrace();
System.out.println("除數不能為0");
}
break;
}
System.out.println("結果為:"+result);
}

第三種:

/**
*計算器類
*CreatedbyHDLon2016/11/30.
*/
publicclassOptioner{
privateintoNumFirst;//第一個數
privateintoNumSecond;//第二個數
publicintgetoNumFirst(){
returnoNumFirst;
}
publicvoidsetoNumFirst(intoNumFirst){
this.oNumFirst=oNumFirst;
}
publicintgetoNumSecond(){
returnoNumSecond;
}
publicvoidsetoNumSecond(intoNumSecond){
this.oNumSecond=oNumSecond;
}
publicOptioner(){
}
publicOptioner(intoNumFirst,intoNumSecond){
this.oNumFirst=oNumFirst;
this.oNumSecond=oNumSecond;
}
publicintgetReuslt(){
return0;
}
}1617181920212223242526272829
/**
*加法運算
*CreatedbyHDLon2016/11/30.
*/
{
@Override
publicintgetReuslt(){
returngetoNumFirst()+getoNumSecond();
}
}
/**
*減法運算
*CreatedbyHDLon2016/11/30.
*/
{
@Override
publicintgetReuslt(){
returngetoNumFirst()-getoNumSecond();
}
}
/**
*乘法運算
*CreatedbyHDLon2016/11/30.
*/
{
@Override
publicintgetReuslt(){
returngetoNumFirst()*getoNumSecond();
}
}
/**
*除法運算
*CreatedbyHDLon2016/11/30.
*/
{
@Override
publicintgetReuslt(){
if(getoNumSecond()==0){
System.out.println("除數不能為0");
return-1;
}else{
returngetoNumFirst()/getoNumSecond();
}
}
}

測試

publicstaticvoidmain(Stringargs[]){
Scannerscn=newScanner(System.in);
System.out.print("請輸入第一個數:");
intoNumFirst=scn.nextInt();
System.out.print("請輸入操作方式(+,-,*,/):");
Stringopt=scn.next();
System.out.print("請輸入第二個數:");
intoNumSecond=scn.nextInt();
Optioneroptioner=null;
switch(opt){
case"+":
optioner=newAddOptioner();
break;
case"-":
optioner=newSubOptioner();
break;
case"*":
optioner=newMulOptioner();
break;
case"/":
optioner=newDivOptioner();
break;
}
optioner.setoNumFirst(oNumFirst);
optioner.setoNumSecond(oNumSecond);
System.out.println("結果為:"+optioner.getReuslt());
}

⑶ java面向對象編程題目

public class Rectangle
{
private double width;
private double height;

//無參構造器
public Rectangle()
{}
//有參構造器
public Rectangle(double width, double height)
{
this.width = width;
this.height = height;
}
//屬性的get和set方法定義
public void setWidth(double width)
{
this.width = width;
}

public double getWidth()
{
return this.width;
}

public void setHeight(double height)
{
this.height = height;
}
public double getHeight()
{
return this.height;
}
//計算周長的方法
private double getPerimeter()
{
return (width+height)*2;
}
//計算面積的方法
private double getArea()
{
return width*height;
}

public static void main(String[] args)
{
Rectangle rec = new Rectangle(3.6,5.8);
System.out.println("The perimeter of Rectangle is:"+rec.getPerimeter());
System.out.println("The area of Rectangle is:"+rec.getArea());
}
}

閱讀全文

與面向對象程序設計練習題相關的資料

熱點內容
扣扣里的文件照片是哪裡的 瀏覽:781
點保存以後文件在哪裡找 瀏覽:149
姑蘇區五軸聯動數控編程如何學 瀏覽:499
初學電腦編程軟體哪個好用 瀏覽:133
dnf86版本魔道和元素 瀏覽:730
黨的重要文件包括哪些 瀏覽:53
u盤ini文件不能復制 瀏覽:876
加工中心如何平面螺旋銑編程 瀏覽:323
計算機什麼配置適合設計和編程 瀏覽:252
如何注銷閑蛋app 瀏覽:194
js如何用trim 瀏覽:339
壁紙版本黛安娜 瀏覽:814
華為榮耀4a微信運動 瀏覽:307
allbackup文件夾找不到 瀏覽:333
哪個網站東西是正品 瀏覽:35
軟體安裝文件里圖片替換 瀏覽:697
微信小程序選擇器代碼 瀏覽:247
信息學和數據學哪個好 瀏覽:847
意外替換了ps文件 瀏覽:551
數控加工編程軟體漢語怎麼讀 瀏覽:685

友情鏈接