关于const关键字说法错误的是()
第1题:
说明静态数据成员时,前面要加关键字const。()
第2题:
A.const char *p=”ABCD”;
B.char const *p=”ABCD”;
C.char *const p=”ABCD”;
D.const char *const p=”ABCD”;
第3题:
关于常成员函数,下列说法中错误的是
A.常成员函数无法更新对象的数据成员,但可以访问其他类的公用数据成员或全局变量
B.常成员函数无法更新对象的数据成员,但是可以更新该对象的常数据成员
C.常成员函数既可以被常对象调用,也可以被一般对象调用
D.常成员函数不仅要在声明中用到const修饰符,在定义时也必须使用const修饰符
第4题:
将关键字const写在函数头之后,函数体之前,说明该函数是一个const成员函数。此时const不是指定函数的返回值,而是修饰______指针。
第5题:
对于语句const int x=10;的描述正确的是( )。
A.该语句不允许定义为int const x=10;
B.在程序中可以重新对X赋值
C.变量X不能使用+ +运算符
D.const关键字只能用来修饰常量
第6题:
假定AA是一个类,“AA*abc()const;”是该类中一个成员函数的原型,在该函数体中()向*this或其成员赋值。
第7题:
设Time是一个类,现有指针p的定义语句:const Time *p;则通过指针p不可以修改Time类对象的公有数据成员。
第8题:
若有类W说明class W{int a;public:voidfConst(int&)const;};,则函数fConst的正确定义是()
第9题:
对
错
第10题:
对
错
第11题:
void print()const
const void print()
void const print()
void print(const)
第12题:
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;}
第13题:
此题为判断题(对,错)。
第14题:
有如下类定义:
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不能定义为常函数
第15题:
某类中有一个无参且无返回值的常成员函数Show,则正确的Show函数原型是
A.const void Show();
B.void const Show();
C.void Show()const;
D.void Show(const);
第16题:
已知String类定义如下:
class String
{
public:
String(const char *str = NULL); // 通用构造函数
String(const String &another); // 拷贝构造函数
~ String(); // 析构函数
String & perater =(const String &rhs); // 赋值函数
private:
char *m_data; // 用于保存字符串
};
尝试写出类的成员函数实现。
String::String(const char *str)
{
if ( str == NULL ) //strlen在参数为NULL时会抛
异常才会有这步判断
{
m_data = new char[1] ;
m_data[0] = '\0' ;
}
else
{
m_data = new char[strlen(str) + 1];
strcpy(m_data,str);
}
}
String::String(const String &another)
{
m_data = new char[strlen(another.m_data) + 1];
strcpy(m_data,other.m_data);
}
String& String::operator =(const String &rhs)
{
if ( this == &rhs)
return *this ;
delete []m_data; //删除原来的数据,新开一块内
存
m_data = new char[strlen(rhs.m_data) + 1];
strcpy(m_data,rhs.m_data);
return *this ;
}
String::~String()
{
delete []m_data ;
}
第17题:
已知:print()函数是一个类的常成员函数,它无返回值,下列表示中,()是正确的。
第18题:
代码public static const int A=1;中的错误是()
第19题:
常成员指的是类体内使用const关键字说明的常数据成员和常成员函数。
第20题:
const关键字可以修饰对象和成员函数
const对象不能被修改
const成员函数不能修改类数据成员
const可以用于说明类
第21题:
const void Show();
void const Show();
void Show() const;
void Show(const);
第22题:
void print()const;
const void print();
void const print();
void print(const);
第23题:
A需要定义类型
格式错误
const不能用static修饰符
const不能用public修饰符