若有以下类W说明,则函数fConst的正确定义是()。 class W { int a; public: void fConst(int& ) const; };
A.void W::fConst(int& k ) const { k = a; }
B.void W::fConst(int& k ) const { k = a++; }
C.void W::fConst(int& k ) const { cin>> a; }
D.void W::fConst(int& k ) const { a = k; }
第1题:
若类A和类B的定义如下: #include<malloc.h> class A { int i,j; public: int geti() { return i; } }; class B:public A { int k; public: void make() { k=i*j; } }; 则上述定义中非法的表达式是( )。
A.k=i*j
B.int k;
C.return i;
D.void make();
第2题:
若类A和类B的定义如下
class A
{
int i,j;
public:
int geti( )
{
return i;
}
};
class B:public A
{
int k:
public:
void make( )
{
k=i*j;
}
};
则上述定义中非法的语句是
A.k=i*j
B.int k;
C.return i;
D.void make()
第3题:
有如下类定义: class AA { int a; public: int getRef()const{ return &a; } //① int getValue()const{ return a; } //② void set(int n)const{ a=n; } //③ friend void show(AA aa)const{ cout<<a; } //④ }; 其中的四个函数定义中正确的是( )。
A.①
B.②
C.③
D.④
第4题:
有如下类定义:
class Bag {
public:
Bag(int p,char s='M'):price(p),size(s) { count++; }
~Bag() { count--; }
int GetPrice() { return price; }
int GetPrice() const { return price; }
void SetPrice(int val) const { price=val; }
private:
int price;
char size;
static int count;
};
下列关于类成员的叙述中,正确的是( )。
A. 成员函数GetPrice存在重定义
B.构造函数的参数不能设置默认值
C.析构函数中不能访问静态数据成员
D.成员函数SetPrice不能定义为常函数
第5题:
下列类的构造函数不能通过编译,正确的构造函数应该是______。
include<iostream.h>
class Sample
{
public:
int n;
const int con;
Sample(int m) {con=m+1;n=m;}
void disp( ) {cout<<"normal:n="<<n<<endl;}
void disp( )const {cout<<"static:n="<<n<<endl;}
};
void main( )
{
const Sample a (12);
Sample b (13);
a.disp( );
b.isp( );
cout<<a.n<<","<<b.con<<endl;
}
第6题:
若有以下说明和定义:fun(int*c){ }main(){ int(*a)()=fun,*b(),w[10],c; ……}在做必要的赋值之后,对fun函数的正确调用语句是______。
A.a=a(w);
B.(*a)(&c);
C.b=*b(w);
D.fun(b);
第7题:
有如下类声明: class MyBASE{ int k; public: void set(int n){k=n;} int get( )const{return k;} }; class MyDERIVED:protected MyBASE{ protected: intj; public: void set(int m,int n){MyBASE::set(m);j=n;} int get( )const{return MyBASE::get( )+j;} }; 则类MyDERIVED中保护的数据成员和成员函数的个数是
A.4
B.3
C.2
D.1
第8题:
若类A和类B的定义如下: class A { int i,j; public: int geti() { return i; } }; class B: public A { int k; public: void make() { k=i*j } }; 则上述定义中
A.k=i*j;
B.int k;
C.return i;
D.void make()
第9题:
有如下类定义: Class MyClass{ int value; public: MyClass(int n): value(n){} int getValue()const{return value;} }; 则类MyClass的构造函数的个数是
A.1个
B.2个
C.3个
D.4个
第10题:
若有以下程序:
include <iostream>
using namespace std;
class Sample
{
private:
const int n;
public:
Sample(int i) :n(i) {)
void print()
{
cout<<"n="<<n<<end1;
}
};
int main()
{
sample a(10);
a.print();
return 0;
}
上述程序运行后的输出结果是【 】。
第11题:
若有类T说明class T{inti;friend void fFriend(T&,int);};,则函数fFriend的错误定义是()
第12题:
若有类W说明class W{int a;public:voidfConst(int&)const;};,则函数fConst的正确定义是()
第13题:
有如下类声明: class MyBASE { int k: public; void set(int n){k=n;} int get() const{return k;} }; class MyDERIVED: protected MyBASE { protected: int j; public: void set(int m, int n){MyBASE::set(m);j=n;} int get() const{return MyBASE::get()+j;} }; 则类MyDERIVED中保护的数据成员和成员函数的个数是( )。
A.4
B.3
C.2
D.1
第14题:
main函数中发生编译错误的语句是______。
include<iostream.h>
class A
{
public:
int a;
const int b;
A( ):a(10),b(20){}
void fun( )const
{
cout<<"a="<<a<<"\tb="<<b<<endl;
}
};
void main( )
{
A obj1;
const A*ptr=new A;
ptr=&obj1;
ptr->a=100;
ptr->fun( );
}
第15题:
下列程序中声明了两个类AA和BB,其中函数“print”是类AA的成员函数,但是类BB的友元函数。
请在①、②和⑧处各填入正确的内容,使程序能正常运行。
include<iostream.h>
【 】;
class AA{
int t;
public:
AA(int x){t=x;}
void print(BB &b) ;
};
class BB{
int s;
public:
BB(int y){s=y;}
friend void 【 】 print(BB &);
};
void 【 】
{ cout<<"AA:"<<t<<"BB: "<<w.s<<end1;}<
void main(){
AA m(6);
BB n(8);
m.print(n);
}
输出结果为:AA:6;BB:8
第16题:
有如下类声明: class MyBASE{ int k; public: void set(iht n){k=n;} int get()coast{return k;} }; class MyDERIVED:pnoted My BASE { protected: int j; public: void set(int m,int n){MyBASE::set(m);j=n;} int get()const{return MyBASE::get()+j;} }; 则类MyDERIVED中保护的数据成员和成员函数的个数是
A.4
B.3
C.2
D.1
第17题:
若类A和类B的定义如下: class A { int i,j; public: int geti () { return i; } }; class B : public A { int k; public: void make () { k=i*j; } }; 则上述定义中非法的语句是
A.k=i*j;
B.int k;
C.return i;
D.void make()
第18题:
若类A和类B的定义如下: #include<malloc.h> class A { int i*j; public: int geti() { return i; } }; class B: public A { int k; public: void make() { k=i*j; } ); 则上述定义中非法的表达式是( )。
A.k=i*j;
B.int k;
C.return i;
D.void make();
第19题:
有如下类定义,请将Sample类的拷贝构造函数补充完整。
class Sample{
public:
Sample(){)
~Sample(){if(p)delete p;)
Sample(const Sample& s){
______
}
void SetData(int data) {p=new int(data);}
private:
int*p;
};
第20题:
有如下类定义和变量定义:
class A{
public:
A(){data=O; }
一A(){}
int GetData()const{ retum data; }
void SetData(int n) {data=n; }
private:
int data;
};
const A a;
A b;
下列函数调用中错误的是
A.a.GetData();
B.a.SetData(10);
C.b.GetData();
D.b.SetData(10);
第21题:
有如下类定义: class AA { im a: public: int getRefconst{return&a;}//① int getValueconst{return a;}//② void set(int n)const{a=n;}//③ friend void show(AA aA.const{cout<<a;}//④ }; 其中四个函数的定义中正确的是( )。
A.①
B.②
C.③
D.④
第22题:
下面的类定义中,如果要为其添加一个析构函数,对于析构函数定义正确的是( )。 class TlestClass { private: int a: public: TestClass(int giva_a=0) {a=give_a;} }
A.~void TestClass (){}
B.~TestClass void(){}
C.void~TestClass(){}
D.~TestClass(){}
第23题:
若有类Z说明class Z{staticint a;public:static void fStatic(Z&);};int Z::a=0;Z objZ;,则函数fStatic中访问数据a错误的是()。
第24题:
void W::fConst(int&k)const{k=a;}
void W::fConst(int&k)const{k=a++;}
void W::fConst(int&k)const{cin>>a;}
void W::fConst(int&k)const{a=k;}