1 / 18
文档名称:

C++笔试题目-带答案.doc

格式:doc   大小:1,898KB   页数:18页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

C++笔试题目-带答案.doc

上传人:文艺人生 2022/4/17 文件大小:1.85 MB

下载得到文件列表

C++笔试题目-带答案.doc

相关文档

文档介绍

文档介绍:C++笔试题目-带答案
姓名:___________ 时间:___________
DCCBB AADAD
一、选择题(1*10=10)
1.如果派生类以proctected方式继承基类,则原基类的protected和psizeof( str ) =___4______
}
void *p = malloc( 100 );
//请计算
sizeof ( p ) =_____4____
3. 补充完整下面的类定义:
class XCH{
char* a;
public:
XCH(char* aa){ //构造函数
a=new char[strlen(aa)+1];
strcpy(a,aa);
}
XCH& operator=(const XCH& x){ //重载赋值函数
delete []a;
a=new char[strlen()+1];
strcpy(a,);
______;
}
~XCH(){delete []a;}
};
____ return *this ______________
______________________________________________________
4. 请写出下面程序的输出结果
#include<iostream>
using namespace std;
class Animal {
public:
virtual char* getType() const {return "Animal";}
virtual char* getVoice() const {return "Voice";}
};
class Dog:public Animal{
public:
char* getType() const {return "Dog";}
char* getVoice() const { return "Woof";}
};
void type(Animal& a) {cout<<();}
void speak(Animal a) {cout<<();}
int main(){
Dog d;type(d);cout<<" speak ";speak(d);cout<<endl;
return 0;
}
______ Dog speak Voice ____________
__________________
三、问答题(5*10+9+15=74)
(可以调用C++/C的字符串库函数)(15)。
已知类String的原型为:
class String
{
 public:
   String(const char *str = NULL); // 普通构造函数
   String(const String &other); // 拷贝构造函数
   ~ String(void); // 析构函数
   String & operate =(const String &other); // 赋值函数
private:
  char *m_data; // 用于保存字符串
};
请编写String的上述4个函数。
// String的析构函数
String::~String(void) // 3分
{
delete [] m_data;
// 由于m_data是内部数据类型,也可以写成 delete m_data;
}
// String的普通构造函数
String::String(const char *str) // 6分
{
if(str==NULL)
{
m_data = new char[1]; // 若能加 NULL 判断则更好
*m_data = ‘\0’;
}