面向?qū)ο蟪绦蛟O(shè)計題庫(C )(DOC)_第1頁
面向?qū)ο蟪绦蛟O(shè)計題庫(C )(DOC)_第2頁
面向?qū)ο蟪绦蛟O(shè)計題庫(C )(DOC)_第3頁
面向?qū)ο蟪绦蛟O(shè)計題庫(C )(DOC)_第4頁
面向?qū)ο蟪绦蛟O(shè)計題庫(C )(DOC)_第5頁
已閱讀5頁,還剩24頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

一、單項選擇題在C++語言中,對函數(shù)參數(shù)默認值描述正確的是:(D)函數(shù)參數(shù)的默認值只能設(shè)定一個一個函數(shù)的參數(shù)若有多個,則參數(shù)默認值的設(shè)定可以不連續(xù)函數(shù)參數(shù)必須設(shè)定默認值在設(shè)定了參數(shù)的默認值后,該參數(shù)后面定義的所有參數(shù)都必須設(shè)定默認值假定AB為一個類,則執(zhí)行ABx;語句時將自動調(diào)用該類的(B)。有參構(gòu)造函數(shù) B)無參構(gòu)造函數(shù)C)拷貝構(gòu)造函數(shù) D)賦值構(gòu)造函數(shù)下述關(guān)于開關(guān)語句的描述中,()是正確的。開關(guān)語句中default子句可以沒有,也可以有一個;開關(guān)語句中每個語句序列中必須有break語句;開關(guān)語句中default子句只能放在最后;開關(guān)語句中case子句后面的表達式可以是整形表達式。關(guān)于對象概念的描述中,()是錯誤的。對象就是C語言中的結(jié)構(gòu)變量對象代表著正在創(chuàng)建的系統(tǒng)中的一個實體;對象是一個狀態(tài)和操作(或方法)的封裝體;對象之間的信息傳遞是通過消息進行的;下列給字符數(shù)組進行初始化中,()是正確的。chars1[]="12345abcd";C)chars3[][3]={'a','x','y'};chars2[3]="xyz";D)chars4[2[3]={"xyz","mnp"};在inta[][3]={{1},{3,2},{4,5,6},{0}沖,a[2][2啲值是( )。3 B)2 C)6 D)4聲明類test的拷貝構(gòu)造函數(shù)的正確形式是(D)。inttestB)voidtestC)test(void)D)test(test&)關(guān)于new運算符的下列描述中,( )是錯的。它可以用來動態(tài)創(chuàng)建對象和對象數(shù)組;使用它創(chuàng)建的對象或?qū)ο髷?shù)組可以使用運算符delete刪除;使用它創(chuàng)建對象時要調(diào)用構(gòu)造函數(shù);使用它創(chuàng)建對象數(shù)組時必須指定初始值。在C++中有以下4條語句:staticinthot=200;int&rad=hot;hot=hot+100;cout<<rad<<endl;執(zhí)行這4條語句后輸出為:()0 B)100C)300 D)200下列關(guān)于構(gòu)造函數(shù)的描述中,錯誤的是(B)構(gòu)造函數(shù)可以設(shè)置默認參數(shù);構(gòu)造函數(shù)在聲明對象時自動執(zhí)行;構(gòu)造函數(shù)可以對靜態(tài)數(shù)據(jù)成員進行初始化;

下面關(guān)于重載函數(shù)的說明中正確的是( )。A)重載函數(shù)必須具有不同的返回類型。重載函數(shù)形參的個數(shù)必須不同重載函數(shù)必須具有不同的形式參數(shù)表重載函數(shù)名可以不同下列關(guān)于C++函數(shù)的說明中,正確的是()。內(nèi)聯(lián)函數(shù)就是定義在另一個函數(shù)體內(nèi)部的函數(shù)函數(shù)體的最后一條語句必須是return語句C++要求在調(diào)用一個函數(shù)前必須先聲明其原型編譯器會根據(jù)函數(shù)的返回值類型和參數(shù)表來區(qū)分函數(shù)的不同重載形式已知函數(shù)原型為:voidfoo(int*,long&b);實參定義為:inti;longf;則正確的調(diào)用語句是( ).A)foo(i,&f);B)foo(i,f);C)foo(&i,f);D)foo(&i,&f);C++中對于結(jié)構(gòu)中定義的成員,其默認的訪問權(quán)限為()。A)publicB)protectedC)privateD)static下列關(guān)于類與對象的說法中,不正確的是( )。對象是類的一個實例任何對象只能屬于一個具體的類一個類只能有一個對象類與對象的關(guān)系和數(shù)據(jù)類型與變量的關(guān)系相似TOC\o"1-5"\h\z下列關(guān)于構(gòu)造函數(shù)的描述中錯誤的是( )A)構(gòu)造函數(shù)可以設(shè)置默認參數(shù)B)構(gòu)造函數(shù)在定義類對象時自動執(zhí)行C)構(gòu)造函數(shù)可以對靜態(tài)數(shù)據(jù)成員進行初始化D)構(gòu)造函數(shù)不可以重載類的析構(gòu)函數(shù)的作用是( )。A)作為類的一般成員函數(shù)B)類的初始化C)對象的初始化D)對象的刪除以下關(guān)于靜態(tài)數(shù)據(jù)成員的描述正確的是( )。A)靜態(tài)數(shù)據(jù)成員可以在類體中進行初始化B)靜態(tài)數(shù)據(jù)成員不可以被類的實例調(diào)用C)靜態(tài)數(shù)據(jù)成員不能受protected控制符的作用C)靜態(tài)數(shù)據(jù)成員不能受protected控制符的作用下面關(guān)于友元函數(shù)的描述中正確的是(A)友元函數(shù)的實現(xiàn)必須在類的內(nèi)部定義C)友元函數(shù)破壞了類的封裝性和隱藏性下面關(guān)于友元函數(shù)的描述中錯誤的是(友元函數(shù)是類的成員函數(shù)友元函數(shù)不能訪問類的私有成員)。A)如果類A是類B的友元,那么類B也是類A的友元如果函數(shù)fun()被說明為類A的友元,那么在fun()中可以訪問類A的私有成員友元關(guān)系不能被繼承如果類A是類B的友元,那么類A的所有成員函數(shù)都是類B的友元函數(shù)TOC\o"1-5"\h\z下列屬于C++語句的是 。A);B)a=17C)a+5 D)cout<<'\n'執(zhí)行語句k=30;j=k++;后k和j的值分別為 。A)k=30,j=30 B)k=30,j=31C)k=31,j=30 D)k=31,j=31若X是一個bool型變量,則X&&5<3的值 。A)為true B)為falseC)與X的值相同 D)與X的值相反如果a=1,b=2,c=3,d=4則條件表達式“a>b?a:c<d?c:d”的值為A)3B)2C)1D)4執(zhí)行下列語句后的輸出結(jié)果是 。inthot=100;int&rad=hot;hot+=100;cout<<rad<<endl;A)0 B)100C)200 D)300下列關(guān)于break語句的敘述不正確的是 。A)break語句可用于循環(huán)體中,它將使執(zhí)行流程跳出本層循環(huán)體;break語句可用于switch語句中,它將使執(zhí)行流程跳出當前的switch語句;break語句可用于if語句中,它將使執(zhí)行流程跳出當前if語句;break語句在一層循環(huán)體中可以出現(xiàn)多次。TOC\o"1-5"\h\z下面關(guān)于類的對象性質(zhì)的描述,正確的是 。A)對象之間不可以相互賦值 B)不可以說明指向?qū)ο蟮闹羔楥)對象不能用作數(shù)組元素 D)一個對象能用作另一個對象的成員在C++中實現(xiàn)封裝是借助于 。A)枚舉 B)類C)數(shù)組 D)函數(shù)下列不是描述類的成員函數(shù)的是 。A)構(gòu)造函數(shù) B) 析構(gòu)函數(shù)C)友元函數(shù) D) 拷貝構(gòu)造函數(shù)不能作為函數(shù)重載判斷依據(jù)的是 。A)參數(shù)個數(shù) B) 參數(shù)類型C)函數(shù)名稱 D )返回值類型假定一個類的構(gòu)造函數(shù)為A(intaa,intbb){a=aa++;b=a*bb++;},則執(zhí)行AX(4,5);語句后,X.a和X.b的值分別為 。A)4和5 B)5和30C)4和20 D)20和5對于double(*p)[10];的描述, 是正確的。

p是一個指向數(shù)組的指針,所指向的數(shù)組是10個double型元素;p是一個指向某個數(shù)組中第10個元素的指針,該元素是double型變量;p[5]表示某個數(shù)組的第10個元素的值;p是一個具有10個元素的指針數(shù)組,每個元素是一個double型指針;下面的函數(shù)聲明中,哪一個是”voidBC(inta,intb);”的重載函數(shù)?A)intBC(inta,intb) B)voidBC(inta,charb)floatBC(inta,intb,intc=0)D)voidBC(inta,intb=0)已知charc;char*constpc="asdf", 是正確的。A)pc="dfgh" B)*pc=‘b'C)*pc++=‘y' D)pc=&c下列關(guān)于構(gòu)造函數(shù)的敘述,錯誤的是 。構(gòu)造函數(shù)可以設(shè)置默認參數(shù);構(gòu)造函數(shù)在說明類變量時自動調(diào)用;構(gòu)造函數(shù)可以對靜態(tài)數(shù)據(jù)成員進行初始化;構(gòu)造函數(shù)可以重載;TOC\o"1-5"\h\z下列關(guān)于構(gòu)造函數(shù)的描述中錯誤的是( )A)構(gòu)造函數(shù)可以設(shè)置默認參數(shù)B)構(gòu)造函數(shù)在定義類對象時自動執(zhí)行C)構(gòu)造函數(shù)可以對靜態(tài)數(shù)據(jù)成員進行初始化D)構(gòu)造函數(shù)不可以重載類的析構(gòu)函數(shù)的作用是( )。A)作為類的一般成員函數(shù)B)類的初始化C)對象的初始化D)對象的刪除以下關(guān)于靜態(tài)數(shù)據(jù)成員的描述正確的是( )。A)靜態(tài)數(shù)據(jù)成員可以在類體中進行初始化B)靜態(tài)數(shù)據(jù)成員不可以被類的實例調(diào)用C)靜態(tài)數(shù)據(jù)成員不能受protected控制符的作用 D)靜態(tài)數(shù)據(jù)成員可以直接用類名調(diào)用下面關(guān)于友元函數(shù)的描述中正確的是( )。A)友元函數(shù)的實現(xiàn)必須在類的內(nèi)部定義 B)友元函數(shù)是類的成員函數(shù)C)友元函數(shù)破壞了類的封裝性和隱藏性 C)友元函數(shù)不能訪問類的私有成員下面關(guān)于友元函數(shù)的描述中錯誤的是( )。如果類A是類B的友元,那么類B也是類A的友元如果函數(shù)fun()被說明為類A的友元,那么在fun()中可以訪問類A的私有成員友元關(guān)系不能被繼承如果類A是類B的友元,那么類A的所有成員函數(shù)都是類B的友元函數(shù)重載函數(shù)在調(diào)用時選擇的依據(jù)中,錯誤的是( )A.函數(shù)的參數(shù)B.參數(shù)的類型C.函數(shù)的名字D.函數(shù)的類型一個函數(shù)功能不太復(fù)雜,但要求被頻繁調(diào)用,選用( . )A.內(nèi)聯(lián)函數(shù) A.內(nèi)聯(lián)函數(shù) B.重載函數(shù)下列不是描述類的成員函數(shù)的是(A.構(gòu)造函數(shù) B.析構(gòu)函數(shù)構(gòu)造函數(shù)不具備的特征的是(構(gòu)造函數(shù)的函數(shù)名與類名相同C.構(gòu)造函數(shù)可以設(shè)置默認參數(shù)C.遞歸函數(shù) D.嵌套函數(shù))C.友元函數(shù) D.拷貝構(gòu)造函數(shù))構(gòu)造函數(shù)可以重載D.構(gòu)造函數(shù)可以指定返回類型通常,拷貝構(gòu)造函數(shù)的參數(shù)是()A.某個對象名B.某個對象的成員名某個對象的引用名D.某個對象的指針名繼承機制的作用是()A.信息隱藏B.數(shù)據(jù)封裝C.代碼重用D.數(shù)據(jù)抽象類的析構(gòu)函數(shù)的作用是()A.—般成員函數(shù)B.類的初始化C.對象的初始化D.刪除對象創(chuàng)建的所有對象類的析構(gòu)函數(shù)是在( )調(diào)用的。A.類創(chuàng)建時B.創(chuàng)建對象時C.刪除對象時D.不自動調(diào)用已知print()函數(shù)是一個類無返回值的常成員函數(shù),下列表示中正確的是()。A.voidprint()constB.constvoidprint()C.voidconstprint;D.voidprint(const);TOC\o"1-5"\h\z如果類A被說明成類B的友元,則( )A.類A的成員即類B的成員B.類B的成員即類A的成員C.類A的成員函數(shù)不得訪問類B的成員D.類B不一定是類A的友元通過一個對象調(diào)用虛函數(shù)時,C++系統(tǒng)對該調(diào)用采用( )。A?動態(tài)聯(lián)編 B?靜態(tài)聯(lián)編 C?不確定是哪種聯(lián)編 D?函數(shù)重載在公有繼承的情況下,基類成員在派生類中的訪問權(quán)限( )A.受限制B.保持不變C.受保護D.不受保護在C++中,當一個對象被創(chuàng)建后,它的每一個成員函數(shù)都含有一個系統(tǒng)自動生成的隱含的指針,稱之為( )指針。A.對象 B.派生 C基類 D.this假定AB為一個類,則執(zhí)行ABx;語句時將自動調(diào)用該類的( )A.有參構(gòu)造函數(shù)B.無參構(gòu)造函數(shù)C.拷貝構(gòu)造函數(shù)D.賦值構(gòu)造函數(shù)C++語言建立類族是通過( )A.類的嵌套B.類的繼承C.虛函數(shù)D.抽象類二、判斷題1、 C++中,數(shù)組下標從1開始。(錯)2、 C++允許對字符串進行整體操作。()TOC\o"1-5"\h\z3、break語句也可以用于if體內(nèi),它可退出if語句。( )4、 在說明語句chara(A),&b二a,*pa二&a;中,b的值與*pa的值相等。()5、對象數(shù)組的元素可以是不同類的對象。( )6、私有繼承中,基類中所有成員對派生類的對象都是不可見的。( )7、類中所提供的成員函數(shù)可以直接訪問私有成員。( )8、按照標識符的要求,下劃線是不能組成正確標識符的。( )9、函數(shù)的默認參數(shù)沒有順序要求,可以隨意定義。( )10、在C++語言中,”A”占兩個字節(jié),而’A'占一個字節(jié)。()11、 C++語言支持封裝性和繼承性,不支持多態(tài)性。[錯]12、關(guān)系運算符可以用來比較兩個字符的大小,也可用來比較兩個字符串的大小。)[]13、 字符串"sdfgh"的長度是5。[]14、 引用和指針都可作函數(shù)參數(shù)。[]TOC\o"1-5"\h\z15、 友元函數(shù)說明在類體內(nèi),它是一種成員函數(shù)。[ ]16、 友元類必須被說明為公有成員。[]17、 純虛函數(shù)是在基類中說明的虛函數(shù),它在該基類中沒有定義具體的操作內(nèi)容。[ ]18、 析構(gòu)函數(shù)不能被繼承。[]19、 運算符重載以后,其優(yōu)先級和結(jié)合性都不能改變。[ ]20、 在C++中,函數(shù)名實際上是一個指針,它指向函數(shù)的入口。[]21、構(gòu)造函數(shù)可以被繼承。( )22、析構(gòu)函數(shù)不能被繼承。( )23、多繼承情況下,派生類的構(gòu)造函數(shù)的執(zhí)行順序取決于定義派生時所指定的各基類的順序。( )24、解決多繼承情況下出現(xiàn)的二義性的方法之一是使用成員名限定法。( )25、函數(shù)的參數(shù)個數(shù)和類型都相同,只是返回值不同,這不是重載函數(shù)。( )26、多數(shù)運算符可以重載,個別運算符不能重載,運算符重載是通過函數(shù)定義實現(xiàn)的。( )27、 對每個可重載的運算符來講,它既可以重載為友元函數(shù),又可以重載為成員函數(shù),還可以重載為非成員函數(shù)。( )28、 對單目運算符重載為友元函數(shù)時,說明一個形參;重載為成員函數(shù)時,不能顯式說明形參。( )29、重載運算符保持原運算符的優(yōu)先級和結(jié)合性不變。( )30、構(gòu)造函數(shù)說明為純虛函數(shù)是沒有意義的。( )三、簡答題1.簡述C++的異常處理機制?2.C++的預(yù)定義的流對象有哪些?試以客觀世界為例,說明抽象、封裝、繼承性和多態(tài)性等概念。多繼承的情況下為什么會產(chǎn)生二義性?如何消除二義性?試說明voidF(constT&t);和inff()const;中關(guān)鍵字const作用有如下程序#include<iostream>#include<fstream>usingnamespacestd;classB;classA{friendB;public:A(){cout<<"inA()"<<endl;}A(constA&a){cout<<"inA(constA&a)<<endl;}~A(){cout<<"In~A()"<<endl;}};classB:publicA{public:B(){cout<<"InB()"<<endl;}B(constAa){cout<<"InB(constAa)"<<endl;}};voidf(A&a){cout<<"Inf(A&a)"<<endl;}voidff(constB&b){cout<<"Inff(B&b)"<<end;}voidff(Aa){}intmain(){Aa;Bbb=a;}程序運行的結(jié)果是 有如下程序#include<iostream>usingnamespacestd;template<classType>classHisClass{Typedata;public:HisClass(Typea,Typeb,Typec);TypegetData();};template<classType>HisClass<Type>::HisClass(Typea,Typeb,Typec){if(a>b&&a>c)data=a;elseif(b>c)data=b;elsedata=c;}template<classType>TypeHisClass<Type>::getData(){returndata;}intmain(){HisClass<int>x1(3,4,5),x2(5,3,4),x3(4,5,3),x4(7,8,9),x5(8,7,9);cout<<x1.getData()<<x2.getData()<<x3.getData()<<x4.getData()<<x5.getData()<<endl;system("pause");return0;}程序運行的結(jié)果是 以下程序在運行中出現(xiàn)致命錯誤,找出錯誤原因并修正。#include<iostream>#include<cstring>classsample{private:char*string;public:sample(constchar*s){string=newchar[strlen(s)+1];strcpy(strings);}~sample(){deletestring;};};samplef(char*arg){sampletmp(arg);returntmp;}intmain(){samplelocal=f("abcd");return0;}有如下程序#include<iostream>usingnamespacestd;classP{char*name;intage;char*add;public:P(){cout<<"P";}~P(){cout<<"!P";}};classS:publicP{char*department;intlevel;public:S(){cout<<"S";}~S(){cout<<"!S";}};classT:publicP{char*major;floats;public:T(){cout<<"T";}~T(){cout<<"!T";}};intmain(){Ss;Tt;system("pause");return0;}程序運行的結(jié)果是 10.有如下程序#include<iostream>usingnamespacestd;classB{public:B(){cout<<"B::B()"<<endl;num++;}virtualvoidf()=0;virtualvoidg()=0;voidk(){f();cout<<"B::k()"<<endl;g();}virtual~B(){cout<<"B::~B()"<<endl;num--;}staticintgetNum(){returnnum;}private:staticintnum;};classD1:publicB{public:D1(){cout<<"D1::D1()"<<endl;}voidf(){cout<<"D1::f()"<<endl;}voidg(){cout<<"D1::g()"<<endl;}~D1(){cout<<"D1::~D1()"<<endl;}};classD2:publicB{public:D2(){cout<<"D2::D2()"<<endl;}voidf(){cout<<"D2::f()"<<endl;}voidg(){cout<<"D2::g()"<<endl;~D2(){cout<<"D2::~D2()"<<endl;}};intB::num=0;intmain(){B*buf[3];buf[0]=newD1;buf[1]=newD2;buf[2]=newD1;inti;cout<<B::getNum()<<endl;for(i=0;i<3;i++)buf[i]->k();for(i=0;i<3;i++)deletebuf[i];cout<<B::getNum()<<endl;system("pause");return0;}程序運行的結(jié)果是 11.有如下程序#include<iostream>usingnamespacestd;classR{public:R(intr1,intr2):R1(r1),R2(r2){};voidprint();voidprint()const;private:intR1,R2;};voidR::print(){cout<<R1<<","<<R2<<endl;};voidR::print()const{cout<<R1<<","<<R2<<endl;intmain(){Ra(5,4);constRb(20,52);b.print();system("pause");return1;}程序運行的結(jié)果是 12.有如下程序#include<iostream>usingnamespacestd;classdemo{public:staticintconstructor,copy_constructor;demo(){cout<<"defaultconstructor"<<endl;constructor++;}demo(constdemo&x){cout<<"copyconstructor"<<endl;copy_constructor++;}};intdemo::constructor=0;intdemo::copy_constructor=0;demousercode(demob){democ(b);returnc;}intmain(){demoa,d;cout<<"callingusercode"<<endl;d=usercode(a);cout<<demo::constructor<<","<<demo::copy_constructor<<endl;system("pause");return0;}程序運行的結(jié)果是 13.有如下程序#include<iostream>usingnamespacestd;classA{staticintm;intn;public:A(intm,intn){m=this->m;n=this->n;}Show(){cout<<m<<n<<endl;}}intA::m;intmain(){Aa1(3,4);Aa2(5,6);a1.Show();a2.Show();}程序運行的結(jié)果是 14.有如下程序#include<iostream>usingnamespacestd;classP{char*name;intage;char*add;public:P(){cout<<"P";}~P(){cout<<"!P";}};classS:publicP{char*department;intlevel;public:S(){cout<<"S";}~S(){cout<<"!S";}};classT:publicP{char*major;floats;public:T(){cout<<"T";}~T(){cout<<"!T";}};intmain(){Ss;Tt;system("pause");return0;}15.為什么要定義虛析構(gòu)函數(shù)?16.有如下程序#include<iostream>usingnamespacestd;classB{public:B(){cout<<"B::B()"<<endl;num++;}virtualvoidf()=0;virtualvoidg()=0;voidk(){f();cout<<"B::k()"<<endl;g();}virtual~B(){cout<<"B::~B()"<<endl;num--;}staticintgetNum(){returnnum;}private:staticintnum;};classD1:publicB{public:D1(){cout<<"D1::D1()"<<endl;}voidf(){cout<<"D1::f()"<<endl;}voidg(){cout<<"D1::g()"<<endl;~D1(){cout<<"D1::~D1()"<<endl;}};classD2:publicB{public:D2(){cout<<"D2::D2()"<<endl;}voidf(){cout<<"D2::f()"<<endl;}voidg(){cout<<"D2::g()"<<endl;}~D2(){cout<<"D2::~D2()"<<endl;}};intB::num=0;intmain(){B*buf[3];buf[0]=newD1;buf[1]=newD2;buf[2]=newD1;inti;cout<<B::getNum()<<endl;for(i=0;i<3;i++)buf[i]->k();for(i=0;i<3;i++)deletebuf[i];cout<<B::getNum()<<endl;system("pause");return0;}程序運行的結(jié)果是 17.有如下程序#include<iostream>usingnamespacestd;classR{public:R(intr1,intr2):R1(r1),R2(r2){};voidprint();voidprint()const;private:intR1,R2;};voidR::print(){cout<<R1<<","<<R2<<endl;};voidR::print()const{cout<<R1<<","<<R2<<endl;}intmain(){Ra(5,4);constRb(20,52);b.print();system("pause");return1;}20,52請按任意鍵繼續(xù).18.有如下程序#include<iostream>usingnamespacestd;classB;classA{friendB;public:A(){cout<<"inA()"<<endl;}A(constA&a){cout<<"inA(constA&a)<<endl;~A(){cout<<"In~A()"<<endl;}};classB:publicA{public:B(){cout<<"InB()"<<endl;}B(constAa){cout<<"InB(constAa)"<<endl;}};voidf(A&a){cout<<"Inf(A&a)"<<endl;}voidff(constB&b){cout<<"Inff(B&b)"<<end;}voidff(Aa){}intmain(){Aa;Bbb=a;}inAOinA<constA&a>inAOInB<constAa>In~fi<>In~fi<>In~fi<>19.有如下程序#include<iostream>usingnamespacestd;classdemo{public:staticintconstructor,copy_constructor;demo(){cout<<"defaultconstructor"<<endl;constructor++;}demo(constdemo&x){cout<<"copyconstructor"<<endl;copy_constructor++;}};intdemo::constructor=0;intdemo::copy_constructor=0;demousercode(demob){democ(b);returnc;}intmain(){demoa,d;cout<<"callingusercode"<<endl;d=usercode(a);cout<<demo::constructor<<","<<demo::copy_constructor<<endl;system("pause");return0;}程序運行的結(jié)果是:defaultconstructordefaultconstructorcallingusercodecoppconstructorcoppconstructor誓和任意鍵繼續(xù)---請分析下面的程序并給出該程序的執(zhí)行結(jié)果#include<iostream.h>classAA{inta;public:AA(){cout<<"InitualizingAA!\n";}~AA(){cout<<"DestroyingAA!\n";}};classBB{intb;AAp;public:BB(){cout<<"InitualizingBB!\n";}~BB(){cout<<"DestroyingBB!\n";}};voidmain(){BBX;cout<<"Endingmain!\n";}執(zhí)行該程序后,輸出結(jié)果為:寫出下列程序的運行結(jié)果。#include<iostream>usingnamespacestd;classAA{inta;public:AA(inti){a=i;cout<<"AA="<<a<<"\n";}virtual~AA(){cout<<"~AA="<<a<<"\n";}};classBB:publicAA{intb;public:BB(inti,intj):AA(i){b=j;cout<<"BB="<<b<<"\n";}~BB(){cout<<"~BB="<<b<<"\n";}};voidmain(){AA*pa=newAA(8);deletepa;AA*pb=newBB(6,9);deletepb;}執(zhí)行該程序后,輸出結(jié)果為:AA=8wAfi=8AA=6BB=9寫出下面程序的輸出結(jié)果。#include<iostream.h>classTest{private:staticintval;inta;public:staticintfunc();staticvoidsfunc(Test&r);};intTest::val=20;intTest::func(){val--;returnval;}voidTest::sfunc(Test&r){r.a=25;cout<<"Result3="<<r.a;}voidmain(){cout<<"Resultl="<<Test::func()<<endl;Testa;cout<<"Result2="<<a.func();Test::sfunc(a);}執(zhí)行該程序后,輸出結(jié)果為:

Result3=25Result1=19Result2=18Result3=25寫出下面程序輸出結(jié)果。#include<iostream.h>classA{public:virtualvoidfunc(){cout<<"funcinclassA"<<endl;}};classB{public:virtualvoidfunc(){cout<<"funcinclassB"<<endl;}};classC:publicA,publicB{public:voidfunc(){cout<<"funcinclassC"<<endl;}};voidmain(){Cc;A&pa=c;B&pb=c;C&pc=c;pa.func();pb.func();pv.func();}執(zhí)行該程序后,輸出結(jié)果為:funcinclassCfuncinclassCfuncinclassC寫出下面程序的輸出結(jié)果#include<iostream.h>classLocation{public:intX,Y;voidinit(intinitX,intinitY);intGetX();intGetY();};voidLocation::init(intinitX,intinitY){X=initX;Y=initY;intLocation::GetX(){intLocation::GetY(){voiddisplay(Location&rL)voidmain()returnX;}intLocation::GetX(){intLocation::GetY(){voiddisplay(Location&rL)voidmain()returnY;}{cout<<rL.GetX()<<""<<rL.GetY()<<'\n';{LocationA[5]={{0,0},{1,1},{2,2},{3,3},{4,4}};Location*rA=A;A[3].init(5,3);rA->init(7,8);for(inti=0;i<5;i++)display(*(rA++));}執(zhí)行該程序

溫馨提示

  • 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)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論