華為C筆試題最全_第1頁
華為C筆試題最全_第2頁
華為C筆試題最全_第3頁
華為C筆試題最全_第4頁
華為C筆試題最全_第5頁
已閱讀5頁,還剩29頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、腳本執(zhí)行失敗問題1. 虛函數(shù)是可以New一個對象的時候要根據虛函數(shù)的函數(shù)體來填虛表;而內聯(lián)函數(shù)沒有函數(shù)體,只是在預編譯階段展開內聯(lián)的,這樣就可以減少函數(shù)調用的開銷,提高效率(錯誤)2. 一個類里可以同時存在同一個類里無論什么函數(shù)都不能函數(shù)名和參數(shù)完全一樣參數(shù)和函數(shù)名都相同的虛函數(shù)與靜態(tài)函數(shù)(錯誤)3. 父類的析構函數(shù)是非虛的,但是子類的析構函數(shù)是虛的,delete子類指針(指向該子類對象)特殊情況,參見題5,會調用父類的析構函數(shù)(正確)/任何情況下刪除子類都會調用到父類的析構函數(shù)4對于下面的類CA,sizeof(CA) = _B_:A. 4 B. 8 C. 12 D. 16class CApu

2、blic: CA(); virtual CA(); /因為有虛函數(shù),所以會有4個字節(jié)的虛表指針private: int m_iTime; /成員變量4個字節(jié)public: int GetTime(); int SetTime(int iTime);5下面這段程序,打印結果是_A_:A. 1 B. 2 C. 3 D. 以上都不對int g_iCount = 0; class CParentpublic: CParent() CParent() g_iCount += 1;class CSon : public CParentpublic: CSon() CSon() g_iCount += 2;

3、main()CParent* p = new CSon(); delete p由于p被聲明成父類指針,并且父類和子類的析構函數(shù)都非虛,因此delete操作只能根據p指針聲明的類型來調用父類的析構函數(shù); std:cout << g_iCount << std:endl;6請問下面這段程序的輸出結果是_A_:A. 2,1, B. 2,2, C. 1,1, D. 1,2,class CParentpublic: CParent() virtual CParent() public: virtual void Print() std:cout << "1,

4、" ;class CSon : public CParentpublic: CSon() ; virtual CSon() ;public: void Print() std:cout << "2," ;void Test1(CParent& oParent這里是引用了一個外部對象,該對象的虛表不會發(fā)生變化)oParent.Print();void Test2(CParent oParent這里會在??臻g內重新構造一個CParent類的對象,如果傳入實參的類型與CParent不同則虛表會發(fā)生變化)oParent.Print();main() C

5、Son * p = new CSon(); Test1(*p); /這里只是一個引用 Test2(*p); /這里會在??臻g重新構造Cparent類對象 delete p;7請問下面這段程序的輸出結果是_D_:A. 2,1, B. 2,2, C. 1,1, D. 1,2,class CParentpublic: CParent() virtual CParent() public: void Print() std:cout << "1," ; ;class CSon : public CParentpublic: CSon() virtual CSon() p

6、ublic: void Print() std:cout << "2," ;main() CSon oSon; CParent * pParent = &oSon; CSon * pSon = &oSon; pParent->Print(); pSon->Print();由于父類和子類的Print函數(shù)都非虛,所以根據指針類型決定調用關系8請問下面這段程序的輸出結果是_C_:A. 2,1, B. 2,2, C. 1,2, D. 1,1,class CParentpublic: CParent() Print(); virtual CPa

7、rent() public: virtual void Print() std:cout << "1," ;class CSon : public CParentpublic: CSon() Print(); virtual CSon() public: void Print() std:cout << "2," ;main() CParent * pParent = new CSon()類的構造過程遵循壓棧原則,構造過程中虛表尚未建立成功,是靜態(tài)調用虛函數(shù); delete pParent;9請問下面這段程序的輸出結果是_D_:A

8、. 2,2, B. 2, C. 輸出結果不確定 D. 以上都不對class CParentpublic: CParent() Print();構造子類對象時調用到父類的構造函數(shù),但父類的Print函數(shù)是純虛的,沒有實現(xiàn),所以這里的調用不成功,編譯會出錯 virtual CParent() public: virtual void Print() = 0;class CSon : public CParentpublic: CSon() Print(); virtual CSon() public: void Print() std:cout << "2," ;m

9、ain() CParent * pParent = new CSon(); delete pParent;10請仔細閱讀以下程序: class Basepublic:virtual bool operator = (int iValue)std:cout << "I am Base class !" << std:endl;return true;virtual Base();class Derive: public Basepublic:virtual bool operator = (int iValue)std:cout << &q

10、uot;I am Derive class !" << std:endl;return true;virtual Derive();int main()Derive derive;Base* pBase = &derive;Derive* pDerive = &derive;*pBase = 0;*pDerive = 0;重載操作符聲明為virtual使操作符產生多態(tài)性return 0;程序的輸出結果是_B_:A、I am Base class !I am base class !B、I am Derive class !I am Derive class

11、 !C、I am base class !I am Derive class !D、I am Derive class !I am Base class ! 11請仔細閱讀以下程序:class Basepublic:virtual void display(std:string strShow = "I am Base class !") std:cout << strShow << std:endl; virtual Base();class Derive: public Basepublic:virtual void display(std:st

12、ring strShow = "I am Derive class !") std:cout << strShow << std:endl; virtual Derive();int main()Base* pBase = new Derive();Derive* pDerive = new Derive();pBase->display();pDerive->display();由于這兩處調用display函數(shù)使用了默認參數(shù),而默認參數(shù)是通過指針類型來確認的delete pBase;delete pDerive;return 0;程序的

13、輸出結果是_C_:A、I am Base class !I am base class !B、I am Derive class !I am Derive class !C、I am base class !I am Derive class !D、I am Derive class !I am Base class !12請仔細閱讀以下程序:class Basepublic:virtual void display() const這個const將隱含的this指針聲明成const類型,所以相當于父類和子類的display函數(shù)具有不同的參數(shù),也就是說子類遮蔽了display函數(shù),此處不具有多態(tài)

14、性 std:cout << "I am Base class !" << std:endl; virtual Base();class Derive: public Basepublic:virtual void display() std:cout << "I am Derive class !"<< std:endl; virtual Derive();int main()Base* pBase = new Derive();Derive* pDerive = new Derive();pBase-&g

15、t;display();pDerive->display();delete pBase;delete pDerive;return 0;程序的輸出結果是_C_:A、I am Base class !I am base class !B、I am Derive class !I am Derive class !C、I am base class !I am Derive class !D、I am Derive class !I am Base class !13在C+中,多態(tài)性存在于_B_:A、同一個類的多個同名函數(shù)之間B、子類繼承層次中C、父類的多個同名函數(shù)之間 D、以上都不是14下

16、面黑體加粗的語句存在問題,請問下面的修改哪個是正確的?Bclass Apublic:void Func();.;class Bprivate:bool Func() const;注意這里是私有的哦 .;class C: public A, public B.; / class definition is unimportantC test;test.Func(); /look hereAtest.B:Func(); Btest.A:Func();C、D語法錯誤,A中B:Funs()是私有的不可訪問CB:test.Func(); DA:test.Func();15判斷:子類可以訪問父類保護成員,

17、子類的友元類也可以子類可以訪問的,其友元都可以訪問通過子類對象去訪問父類的保護成員。(正確)16. 下面對protected繼承的描述正確的是:C /注意這里是保護繼承A父類的友元類可以訪問子類保護成員B子類的友元類可以訪問父類的私有成員C子類可以訪問父類的保護成員此時父類的所有成員都是子類的保護成員(不包括父類的私有成員)D父類可以訪問子類的保護成員17對于下面的代碼,描述正確的是:Aclass A public:virtual void test();class B: public Apublic:void test();.;class C: public Bpublic:void tes

18、t();.;AB類的test函數(shù)是虛函數(shù),而C類的也是BB類的test函數(shù)不是虛函數(shù)CB類的test函數(shù)是虛函數(shù),而C類的不是DC類的test函數(shù)不是虛函數(shù)18請指出如下程序的輸出結果:D#include<iostream.h>class base public: base() cout << "base()" base() cout << "base()" ; class subs: public base public: subs() cout << "subs()" subs()

19、cout << "subs()" ; void main() subs s;就是子類構造的壓棧原則Asubs()base()subs()base()Bbase()subs()base()subs()Csubs()base()base()subs()Dbase()subs()subs()base()19請指出如下程序的輸出結果:B#include <iostream.h>class A public:int n; class B: public A ; class C: public A ; class D: public B, public C注意這

20、里的繼承順序決定了在內存種B:n在C:n的前面 ; void main() D d; d.B:n=10; d.C:n=20; cout << d.B:n << "," << d.C:n;A20,20 B10,20 C20,10 D10,1020判斷題:友元(friend)沒有破壞類的封裝。錯誤21下面哪種說法是正確的:BA.派生類從基類public派生,派生類可以直接訪問基類private的成員變量和成員函數(shù)。 B.派生類從基類public派生,派生類可以直接訪問基類protected的成員變量和成員函數(shù)。 C.派生類從基類public派

21、生,外部可以直接訪問派生類中基類部分protected的成員變量和成員函數(shù)。D.派生類從基類protected派生,外部可以直接訪問派生類中基類部分public的成員變量和成員函數(shù)。 22下面哪種說法是不正確注意這里是不正確的說法的:DA.外部對象不能直接訪問類private的成員變量和使用private的成員函數(shù)。B.外部對象不能直接訪問類protected的成員變量和使用protected的成員函數(shù)。C.外部對象可以直接訪問類public的成員變量和使用public的成員函數(shù)。D.友元(friend)不能直接訪問類的private的成員變量和使用private的成員函數(shù)。23下面那個不是類

22、成員訪問限定符:DA. public B. private C. protected D. friend24請閱讀下面程序片斷,成員函數(shù)setName的訪問限定是什么?Astruct 結構的缺省權限是public類的缺省權限是privateMan void setName(const std:string & strName); void setAge(unsigned int iAge);std:string getName() const;unsigned int getAge() const; private: unsigned int m_iAge; std:string m_

23、strName;A. public B. private C. protected D. friend25下面說法是否正確?錯誤存在下面重載函數(shù)聲明:1)void myfunc(char a);2)void myfunc(long b);則下面調用的代碼匹配第一個函數(shù)編譯不通過int c=100; myfunc(c);26下面哪種情形下myfunc函數(shù)聲明是重載重載僅關注函數(shù)名和參數(shù)類型?CA. int myfunc(int a,double b) 和 double myfunc(int a, double b)B. int myfunc(int a,double b) 和 int myfun

24、c(int a,double b=0.5)C. int myfunc(int a,double b) 和 int myfunc(double b,int a)D. int myfunc(int a,double b) 和 double myfunc(int , double )27下面那種情形下myfunc函數(shù)聲明是重載?BA. namespace IBM /兩個名字空間中各有一個myfunc函數(shù)int myfunc(int a);namespace SUNint myfunc(double b);B. namespace IBMint myfunc(int a);namespace SUNu

25、sing namespace IBM;int myfunc(double b);SUN中發(fā)生了重載C. namespace IBMint myfunc(int a);namespace SUNint myfunc(double b);D. class Apublic: int myfunc(int a);class SubA: public Apublic: int myfunc(double b); /注意這里不是重載28下面說法正確的是:DA. 操作符重載可以改變操作符的運算優(yōu)先級。B. 操作符重載時,其預定義的操作數(shù)可以改變。例如“!”是一元操作符,可以重載成有兩個參數(shù)的二元操作符。C.

26、 C+中所有的操作符都可以被重載。D. 對于內置數(shù)據類型的操作符,它預定義的意義不能被修改;也不能為內置數(shù)據類型定義其它操作符。例如不能定義int operator+(int,int);也不能定義void operator+(int,int)。29假如運行環(huán)境int類型4bytes,short類型2bytes,long類型8bytes,存在代碼:D unsigned short x = 65530; int a = myfunc( x, 20.0 );會優(yōu)先匹配以下哪一個重載函數(shù)?A. int myfunc( double, double ) B. int myfunc( short, dou

27、ble )C. double myfunc( int, float )D. double myfunc( int, double )30判斷題 類的析構函數(shù)可以是虛函數(shù),但構造函數(shù)不可以。正確31判斷題 一個類的構造函數(shù)可以有多個,但析構函數(shù)只能有一個。正確32判斷題 當一個類中有指向其他資源的指針,并由類本身釋放,那么可以使用編譯系統(tǒng)生成的默認拷貝構造函數(shù)進行對象復制。錯誤33判斷題 下面的代碼是否正確(錯誤)class CSomething char* m_c;public: CSomething() m_c = new char; CSomething()delete m_c; m_c

28、= NULL; CSomething(const CSomething& other) /拷貝構造 *m_c = *other.m_c; /這里有問題,此時m_c沒有空間,應該先m_c = new char; CSomething & operator=(const CSomething& a1) /重載操作符應該跟拷貝構造是一樣的;34CSomething是一個類,執(zhí)行下面這些語句后,內存里創(chuàng)建了多少個CSomething對象?BCSomething a; / 1個CSomething b(2); / 1個CSomething c3; /3個CSomething &a

29、mp;ra = a;CSomething d = a; /1個CSomething *pA = c;CSomething *p = new CSomething(4); /1個A. 8 B.7 C.10 D.935已知類D是類B的派生類,B有自己的私有數(shù)據成員,并實現(xiàn)了自己的拷貝構造函數(shù),類D的拷貝構造函數(shù)應該怎么實現(xiàn)?DA、 B、 D:D(const D& other) D:D(const D& other) 拷貝類D新增的成員 拷貝父類B的成員可以用下面的方式實現(xiàn):(B*)this->B(other),但是 D答案是比較標準的做法 拷貝類D新增的成員 C、 D、D:D

30、(const D& other) D:D(const D& other) : B(other) B:B(other); 拷貝類D新增的成員 拷貝類D新增的成員 36關于類的構造和析構,下面哪個說法正確 CA、構造函數(shù)和析構函數(shù)都是由系統(tǒng)自動調用的,程序不能主動調用 /可以主動調用B、如果一個類沒有聲明缺省構造函數(shù),則編譯器會自動生成一個缺省構造函數(shù)如果定義了非缺省構造函數(shù),而沒有定義缺省構造函數(shù),則不會自動生成缺省構造函數(shù)C、全局類對象的構造函數(shù)總是在main函數(shù)之前執(zhí)行的D、構造函數(shù)和析構函數(shù)均不能被說明為虛函數(shù) /析構函數(shù)可以是虛的37在執(zhí)行new A1時,下面代碼的輸出是

31、什么 A#include <iostream>int init(const std:string & info) std:cout << info << std:endl; return 0;class A int m_x;public:A():m_x(init("Init A:m_x")在調用A的構造函數(shù)之前首先調用init函數(shù),并將函數(shù)的返回值賦給A的成員變量m_x init("Call A:A()"); /定義構造函數(shù);class A1:public A int m_x; int m_y;public:

32、A1():m_x(init("Init A1:m_x"),m_y(init("Init A1:m_y")這是初始化表達式表,用于在進入構造函數(shù)之前先初始化類的成員變量 init("Call A1:A1()");A、 B、 Init A:m_x Call A1:A1() Call A:A() Init A1:m_x Init A1:m_x Init A1:m_y Init A1:m_y Call A:A() Call A1:A1() InitA:m_x C、 D、Init A:m_x Call A1:A1()Call A:A() Ini

33、t A1:m_xInit A1:m_y Init A1:m_yCall A1:A1() Call A:A()38有如下的類定義 class Base .public: virtual Base() std:cout << "Destroy Base" << std:endl; ;class Derive1:public Base .public: Derive1() std:cout << "Destroy Derive1" << std:endl; ;class Derive2 : public Deri

34、ve1.public:Derive2() std:cout << “Destroy Derive2” << std:endl; ;在執(zhí)行: Derive1* pObj = new Derive2(); . delete pObj;時,輸出是:CA、 B、 Destroy Derive1 Destroy Base Destroy Base Destroy Derive1 Destroy Derive2 C、 D、Destroy Derive2 上面都不對Destroy Derive1Destroy Base39對于如下的類定義 Cclass Basepublic: Bas

35、e(int val = 0):m_x(val) Base(const Base& oth):m_x(oth.m_x)private: int m_x;class Derived:public Basepublic: Derived(int val):Base(val), m_y(val) Derived(const Derived& oth):m_y(oth.m_y)private: int m_y;下面代碼中Derived d1(10); /d1.m_x=10,d1.m_y=10Derived d2 = d1; /先調Base(int val = 0):m_x(val),然后

36、調派生類的拷貝構造d2.m_x和d2.m_y各是多少?A、10,10 B、10, 0 C、0,10 D、0, 040下面的代碼 Dclass Baseprotected: int m_a;public: Base(int a):m_a(a);class Derived:public Base int m_b; int m_c;public: Derived (int a, int c):m_c(c), Base(a), m_b(m_a+m_c)初始化不是以初始化列表為序的,是以成員定義的順序進行的,如有基類是先進行基類的初始化,所以m_b為隨機值;Derived a1(1,10);中a1.m_

37、a、a1.m_b、a1.m_c的取值是A、1,10,10 B、1,1,10 C、1,11,10 D、以上都不對41下面的主程序中,語句(A)是錯誤的。 class A int i; public: virtual void fun()=0; A(int a) i=a; ; class B int j; public: void fun() cout<<"B:fun()n" B(int b,int c) :A(b) j=c; ;void main()_AA a(5); /A是抽象類,不能初始化BA *pa; CB b(7,6)DB *pb; 42分析下列程序中的錯

38、誤,并說明出錯原因。 class A int x; public: A(int a) x=a; fun()構造函數(shù)中調用了純虛函數(shù);鏈接錯誤; - A virtual void fun()=0; ; class B:public A public:B(int b) :A(b) void fun() - B; void main() A aa(5); - CA類含有純虛函數(shù),是抽象類,無法實例化 B bb(8); - D請選擇出下面說明錯誤的地方 BA: fun();,構造函數(shù)不能調用純虛函數(shù)B: void fun() 必須寫成virtual void fun()C: A aa(5); 抽象類不

39、能定義對象D: 對象bb的成員x為8;43下列關于析構函數(shù)的描述中正確的是(B)A.析構函數(shù)可以重載 B.析構函數(shù)可以是虛函數(shù)C.析構函數(shù)名與類名相同 D.析構函數(shù)的返回類型為void44下列關于純虛函數(shù)的描述中,正確的是 (D)A.純虛函數(shù)是一種特殊的虛函數(shù),它是個空函數(shù) /不是空函數(shù),而是根本沒有實現(xiàn)B.具有純虛函數(shù)的類稱為虛基類 /叫抽象類,虛基類是多重繼承時候的virtual繼承C.一個基類中說明有純虛函數(shù),其派生類一定要實現(xiàn)該純虛函數(shù)不對,派生類可以仍不實現(xiàn),而交由派生類的后續(xù)派生類實現(xiàn)D.具有純虛函數(shù)的類不能創(chuàng)建類對象45要將類說明是類的虛基類,正確的描述是 (B)A.class

40、virtual B:public A B.class B:virtual public這兩個關鍵字的順序可以調換 A /這樣B類的實例中會多一個虛基類指針出來C.virtual class B:public A D.class B:public A virtual46寫出下面程序的輸出結果。A:f()n B:f()n#include < iostream.h>class A public:virtual void f() cout<<"A:f()n" ; class B:public Aprivate: char *buf;public:B(int

41、i) buf=new chari; void f() cout<<"B:f()n"B() delete buf; ;void main() A *a=new A;a->f(); delete a;a=new B(15); a->f();多態(tài)輸出結果為(由于排版的關系,由多個空格表示回轉換行):BA: A:f() A:f()B: A:f() B:f()C: B:f() B:f()D: 程序會拋出異常47類B是通過public繼承方式從類A派生而來的,且類A和類B都有完整的實現(xiàn)代碼,那么下列說法正確的是:(B)A. 類B中具有pubic可訪問性的成員函數(shù)

42、個數(shù)一定不少于類A中public成員函數(shù)的個數(shù)。不對,因為派生類可以重新調整繼承而來的成員的可訪問性,例如: class BB;class DD : public BBprivate:using BB:Test_protect;using BB:Test_public;protected:public:; B. 一個類B的實例對象占用的內存空間一定不少于一個類A的實例對象占用的內存空間。 C. 只要類B中的構造函數(shù)都是public的,在main函數(shù)中就可以創(chuàng)建類B的實例對象。如果類A的構造函數(shù)是private的就不行了D. 類A和類B中的同名虛函數(shù)的返回值類型必須完全一致。子類可以重載或遮蔽基

43、類的成員48下列哪種函數(shù)可以是虛的:(D)A. 自定義的構造函數(shù) B. 拷貝構造函數(shù) C. 靜態(tài)成員函數(shù) D. 析構函數(shù) 49判斷題 雖然抽象類的析構函數(shù)可以是純虛函數(shù),但要實例化其派生類對象,仍必須提供抽象基類中析構函數(shù)的函數(shù)體。正確50判斷題 A從B中派生,B定義了一個純虛函數(shù)Virtual void fun(void) = 0; A在聲明該方法時可以不帶Virtual限定符,如:void fun(void); 正確51以下敘述正確的是( C )A. 構造函數(shù)調用虛函數(shù)采用動態(tài)聯(lián)編 /雖然調用的是虛函數(shù),但卻是靜態(tài)調用的B. 構造函數(shù)可以說明為虛函數(shù)C. 當基類的析構函數(shù)是虛函數(shù)時,它的派

44、生類的析構函數(shù)也是虛函數(shù)D. 析構函數(shù)調用虛函數(shù)采用動態(tài)聯(lián)編 /雖然調用的是虛函數(shù),但卻是靜態(tài)調用的52以下關于抽象類的描述正確的是 ( D )A. 不能說明指向抽象類對象的指針或引用B. 可以說明抽象類對象C. 抽象類的純虛函數(shù)的實現(xiàn)可以由自身給出,也可以由派生類給出D. 抽象類的純虛函數(shù)的實現(xiàn)由派生類給出53判斷題 一個經過排序了的鏈表,不適合使用二分法查找數(shù)據。正確54判斷題 二叉樹的前序、中序、后序遍歷常用遞歸方式實現(xiàn)。 正確55請描述下面這個二叉樹的前序遍歷結果:B A. ABCDEFGHIB. ABDCEGFHI /前序遍歷C. BDAGECHFI /中序遍歷D. DBGEHIFC

45、A /后序遍歷56若進棧序列是4,3,2,1,則出棧序列是:AA. 1,2,3,4 B. 3,2,4,1C. 4,3,2,1 D. 1,3,2,457若進隊序列是4,3,2,1,則出隊序列是:C A. 1,2,3,4 B. 3,2,4,1 C. 4,3,2,1 D. 1,3,2,458如果用單向鏈接實現(xiàn)堆棧,那么應該把棧頂放在鏈表的:AA. 表頭表尾無法彈棧B. 表尾C. 表頭或表尾D. 任何節(jié)點均可59如下選擇數(shù)據結構的描述中,不正確的是:D A. 如果需要隨機訪問,則線性表要比鏈表好得多B. 如果已知要存儲元素的個數(shù),則線性表是一個比鏈表好的選擇C. 如果需要在中間頻繁插入和刪除元素,則鏈

46、表顯然要比線性表好D. 對于離散的數(shù)據,使用線性表比鏈表要好60insert()函數(shù)完成單鏈表插入功能,請補充程序:Atypedef struct node *link;struct nodeint data;link next; ;/以head為頭指針的單鏈表,要求在單鏈表的結點a之前插入結點b,如果單鏈表中沒有a,則將b插入單鏈表的尾部。insert ( link *head,int a, int b) link p,q,s; s = (link) malloc (sizeof(*s); s->data= b; p= *head; if ( p=NULL | p->data=a

47、) *head=s; (_1_); else while (p->data!=a && p->next!=NULL) q=p; p= p->next; if (p->data=a) (_2_); s->next= p; else (_3_); s->next= NULL; A. s->next= p、q->next=s、p->next=sB. q->next=s、s->next= p、p->next=sC. q->next=s、p->next=s、s->next= pD. s->ne

48、xt= p、p->next=s、q->next=s61下面的程序是對二叉樹的前序遍歷,請寫出下面空格中的語句:D其中,Visit函數(shù)表示訪問節(jié)點數(shù)據。void PreOrder(BinaryTreeNode *t)/ 對* t進行前序遍歷if (t)(_1_);(_2_);(_3_);A. PreOrder(t->LeftChild) Visit(t) PreOrder(t->RightChild)B. PreOrder(t->LeftChild) PreOrder(t->RightChild) Visit(t)C. Visit(t) PreOrder(t-

49、>RightChild) PreOrder(t->LeftChild)D. Visit(t) PreOrder(t->LeftChild) PreOrder(t->RightChild)62請選擇下面樹形結構深度優(yōu)先遍歷出來的結果:C A. ABCDEFGHB. HEBAFCGDC. ABEHCFGDD. HEBFGCDA63判斷題:函數(shù)模板是宏缺省情況下是內聯(lián)的。錯誤64判斷題:以下定義是否正確:正確template <typename T> void fill (T* pArray, int size, T const &value = T()6

50、5判斷題 以下定義是否正確:錯誤template <typename T1, typename T2>inline T1 const & max(T1 const &a , T2 const &b)return a< b ? b:a; /函數(shù)返回值不應該為T1 const &,有可能是T1,或者T2類型的66emplate <typename T>inline T const & max(T const & a, T const & b).下面那個會引起編譯錯誤:Ba. max(4,7)b. max(4,4.2)c. max(static_cast<double>(4), 4.2)d. max<double>(4,4.2)67#include <string>template <typename T>inline T max(T a , T b)return a<b ? b:a;下面哪個調用會引起編譯錯誤的 Ca. :max("app

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論