关于const关键字说法错误的是()A、const关键字可以修饰对象和成员函数B、const对象不能被修改C、const成员函数不能修改类数据成员D、const可以用于说明类

题目

关于const关键字说法错误的是()

  • A、const关键字可以修饰对象和成员函数
  • B、const对象不能被修改
  • C、const成员函数不能修改类数据成员
  • D、const可以用于说明类
如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

( 31 ) 有如下类定义 :

class MyBase{

int k;

public:

MyBase(int n=0):k(n){ }

int value( )const{ return k;}

};

class MyDerived: MyBase{

int j;

public:

MyDerived(int i): j(i) {}

int getK( )const{ return k; }

int getJ( )const{ return j; }

};

编译时发现有一处语法错误 , 对这个错误最准确的描述是

A )函数 getK 试图访问基类的私有成员变量 k

B ) 在类 MyDerived 的定义中,基类名 MyBase 前缺少关键字 public ,protected 或 private

C )类 MyDerived 缺少一个无参的构造函数

D )类 MyDerived 的构造函数没有对基类数据成员 k 进行初始化


正确答案:A

第2题:

说明静态数据成员时,前面要加关键字const。()


正确答案:错

第3题:

已知:print( )函数是一个类的常成员函数,且无返回值。在下列表示中,正确的是( )

Avoid print( ) const;

Bconst void print( );

Cvoid print( );

Dvoid print(const);


正确答案:A

第4题:

关于常成员函数,下列说法中错误的是

A.常成员函数无法更新对象的数据成员,但可以访问其他类的公用数据成员或全局变量

B.常成员函数无法更新对象的数据成员,但是可以更新该对象的常数据成员

C.常成员函数既可以被常对象调用,也可以被一般对象调用

D.常成员函数不仅要在声明中用到const修饰符,在定义时也必须使用const修饰符


正确答案:B
解析:本题考察const修饰符的使用规则,只要考生理解了const表示“常”的意思就容易举一反三。根据被修饰内容的不同,const在修饰数据成员,成员函数和对象时,具有特定的含义。很明显,常数据成员是不能被修改的,这一点在选项B中被破坏,因此可以确定本题答案为B,如果考生对其他选项难于区分,同样可以得到正确答案。

第5题:

要禁止修改指针p本身,又要禁止修改p所指向的数据,这样的指针应定义为( )。

A.const char *p=”ABCD”;

B.char const *p=”ABCD”;

C.char *const p=”ABCD”;

D.const char *const p=”ABCD”;


参考答案:D

第6题:

关于const修饰符的说法中,错误的是

A.const既可以修饰成员函数,也可以修饰数据成员,还可以修饰对象

B.若const修饰了一个对象,则该对象中的所有数据成员都无法被更新

C.常对象无法调用一般成员函数

D.常成员函数只能被常对象调用,不能被一般对象调用


正确答案:D
解析:本题考察const修饰符的含义及其修饰不同对象的规则。常成员函数既能被常对象调用,也能被一般对象调用,一旦const修饰了一个对象,则对象的所有数据成员都无法更新。

第7题:

在成员函数的函数类型前加上const关键字,则该成员函数就是常量成员函数。()

此题为判断题(对,错)。


正确答案:错误

第8题:

有如下类定义:

class MyBase{

int k;

public;

MyBase(int n=0):k(n){}

int value()const{return k;}

};

class MyDerived; MyBase{

int j;

public;

MyDerived(int i): j(i){}

int getK()const {return k;}

int gutj()const{return j;}

};

编译时发现有一处语法错误,对这个错误最佳准确的描述是____

A.函数getK 试图访问基类的私有成员变量K

B.在类MyDerived 的定义中,基类名MyBase 前缺少关键字public、protected 或private

C.类MyDerived 缺少一个无参的构造函数

D.类MyDerived 的构造的数没有对基数数据成员K 进行初始化


正确答案:A

第9题:

有如下类定义:

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不能定义为常函数


参考答案:A

第10题:

某类中有一个无参且无返回值的常成员函数Show,则正确的Show函数原型是

A.const void Show();

B.void const Show();

C.void Show()const;

D.void Show(const);


正确答案:C
解析:本题主要考查对常成员函数的掌握。常成员函数的说明格式为:
  <返回类型><成员函数名>(<参数表>)const;
  本题中的常成员函数无参无返回值,故正确答案为C。

更多相关问题