地大《面向?qū)ο蟪绦蛟O(shè)計(新)》在線作業(yè)一
共25道題 總分:100分
一、單選題(共15題,60分)
1.有如下定義:int a[5]={1,3,5,7,9},*p=a;下列表達式中不能得到數(shù)值5 的是()
A、a[2]
B、a[3]
C、*(p+2)
D、*p+4
2.設(shè)int * p2=&x,* p1=a;p2= *b;則a和b的類型分別是()
A、int * 和int
B、int * 和int **
C、int 和int *
D、int * 和int *
3.下列關(guān)于虛基類的描述,錯誤的是()
A、設(shè)置虛基類的目的是為了消除二義性
B、虛基類的構(gòu)造函數(shù)在非虛基類之后調(diào)用
C、若同一層中包含多個虛基類,這些虛基類的構(gòu)造函數(shù)按它們說明的次序調(diào)用
D、若虛基類由非虛基類派生而來,則仍然先調(diào)用基類構(gòu)造函數(shù),再調(diào)用派生類的構(gòu)造函數(shù)
4.有如下類聲明:class Base{protected;int amount;public;Base(int n=0): amount(n){}int getAmount()const { retum amount; }};class Derived: public Base {protected;int value;public;Derived(int m, int n): value(m). Base(n){}Int getData()const{ return value+amount; }};已知
A、x.value+ x.getAmount()
B、x.getData()-x.gctAmount()
C、x.getData()-x.amount
D、x.value+x.amount
5.下面是一個模板聲明的開始部分:templute<typename T> double __由此可知()
A、這可能是一個函數(shù)模板的聲明
B、這可能是一個類模板的聲明
C、這既可能是一個函數(shù)模板的聲明,也可能是一個類模板的聲明
D、這肯定是一個錯誤的模板聲明
6.在類的定義中,用于為對象分配內(nèi)存空間,對類的數(shù)據(jù)成員進行初始化并執(zhí)行其他內(nèi)部管理操作的函數(shù)是()
A、友元函數(shù)
B、虛函數(shù)
C、構(gòu)造函數(shù)
D、析構(gòu)函數(shù)
7.假定要對類AB定義加號操作符重載成員函數(shù),實現(xiàn)兩個AB類對象的加法,并返回相加結(jié)果,則該成員函數(shù)的聲明語句為()
A、AB operator+(AB & a , AB & b)
B、AB operator+(AB & a)
C、operator+(AB a)
D、AB & operator+( )
8.類的析構(gòu)函數(shù)的作用是()
A、一般成員函數(shù)的初始化
B、類的初始化
C、對象的初始化
D、刪除類創(chuàng)建的對象
9.設(shè)int f(int);和int g(int);是函數(shù)f和g的原形,以下將f作為語句調(diào)用的是()
A、g(f(3));
B、f(g(3));
C、g(f(3)+2);
D、p= f(g(3)+1);
10.有如下程序: ?。nclude class BASE{ char c; public: BASE(char n):c(n){} virtual~BASE(){cout<<C;} }; class DERIVED:public BASE{ char c; public: DERIVED(char n):BASE(n+1),c(n){} ~DERIVED(){cout
A、XY
B、YX
C、X
D、Y
11.下面描述中,表達錯誤的是()
A、公有繼承時基類中的public成員在派生類中仍是public的
B、公有繼承是基類中的private成員在派生類中仍是private的
C、公有繼承時基類中的protected成員在派生類中仍是protected的
D、私有繼承時基類中的public成員在派生類中是private的
12.對于全局函數(shù) int f(void) ,與其完全等價的函數(shù)原型為()
A、int& f( );
B、int f(void ) const;
C、const int f( );
D、A、B、C都不是
13.類TM和類TN是兩個獨立的類,那么類TM中哪種形式的數(shù)據(jù)成員一定是不允許的()
A、TM* a;
B、TN& a;
C、TM a;
D、TN a;
14.在C++語言中,數(shù)據(jù)封裝要解決的問題是()
A、數(shù)據(jù)的規(guī)范化
B、便于數(shù)據(jù)轉(zhuǎn)換
C、避免數(shù)據(jù)丟失
D、防止不同模塊之間數(shù)據(jù)的非法訪問
15.已知Value 是一個類,Value 是Value 的一個對象。下列以非成員函數(shù)形式重載的運算符函數(shù)原形中,正確的是()
A、Value operator+(Value v, int i);
B、Value operator+(Value v=value, int i);
C、Value operator+(Value vint i=0);
D、Value operator+(Value v=value, int i=0);
二、多選題(共5題,20分)
1.賦值運算符重載函數(shù)與拷貝構(gòu)造函數(shù)的區(qū)別是什么()
A、都是拷貝一個類的對象給另一個同類型的類的對象
B、拷貝構(gòu)造函數(shù)是用已存在的對象的各成員的當前值來創(chuàng)建一個相同的新對象
C、賦值運算符重載函數(shù)要把一個已存在對象的各成員的當前值賦給另一個已存在的同類對象
2.關(guān)于構(gòu)造函數(shù)說法正確的是()
A、函數(shù)名只能是類名
B、返回類型可以是任意的
C、參數(shù)個數(shù)和類型可以是任意的
D、在對象創(chuàng)建時自動調(diào)用
3.下列有關(guān)抽象類和純虛函數(shù)的敘述中,錯誤的是()
A、擁有純虛函數(shù)的類是抽象類,能用來定義對象
B、抽象類的派生類若不實現(xiàn)純虛函數(shù),它也是抽象類
C、純虛函數(shù)的聲明以“=0;”結(jié)束
D、純虛函數(shù)都不能有函數(shù)體
4.以下哪些是面向?qū)ο蟪绦蛟O(shè)計的特征( )
A、抽象
B、封裝
C、繼承
D、多態(tài)
5.關(guān)于公共靜態(tài)數(shù)據(jù)成員,下面說法正確的是()
A、在main函數(shù)之前創(chuàng)建
B、跟某個具體對象無關(guān)
C、可以用類名和成員名直接訪問
D、需要在類體外初始化
三、判斷題(共5題,20分)
1.多態(tài)的實現(xiàn)分為兩類:編譯時的多態(tài)和運行時的多態(tài)
A、錯誤
B、正確
2.默認的繼承方式是private
A、錯誤
B、正確
3.友元函數(shù)的聲明不受訪問區(qū)域的影響
A、錯誤
B、正確
4.設(shè)int * p;則可以定義表達式 –++p
A、錯誤
B、正確
5.靜態(tài)成員變量所有的對象擁有一份拷貝
A、錯誤
B、正確
奧鵬,國開,廣開,電大在線,各省平臺,新疆一體化等平臺學習
詳情請咨詢QQ : 3230981406或微信:aopopenfd777