c++补考题目(附答案)(3)

2018-12-19 21:54

使程序的输出结果为: the worker is Zhang San the manager is Liu Ping #include

//删除【】左边的下划线并填入适当的语句,使它能调试并得到正确的结果。 //注意:不要改动main函数,不得增行或删行,也不得更改程序的结构 class manager; class worker {

char *name; public:

worker(char *str) {

name=str; }

friend void print(worker &, manager &); };

class manager {

char *name; public:

manager(char *str) {

name=_str_;//【1】 }

friend void print(worker &, manager &); };

void print(worker _&a_, manager _&b_) //【2】 {

cout<<\cout<<\}

void main() {

worker w(\manager m(\print(_w,m_); //【3】 }

题目描述:仔细阅读下列求两个点之间距离的程序,程序的输出结果是50,根据程序的输出结果在划线处填入正确语句。 #include #include using namespace std; class point

{

public:

point(float a,float b) { x=a; y=b; } float Distance(point &p) {

float dx=p.x-x; float dy=p.y-y;

return (float)sqrt(dx*dx+dy*dy); }

private: float x,y; };

int main() {

point p1(2,3),p2(32,43);

cout<

下列程序中声明了类girl,其中函数“display”是类girl的友元函数,请在(1)、(2)和(3)处各填入正确的内容,使程序能正常运行。 #include using namespace std; class girl {

private:

char name; int age; public:

girl(char n, int d) //构造函数 {

name= n; age=d; }

friendvoid display(girl &x); //声明友元函数 };

void display(girl &x) //类外定义友元函数 {

cout<<\ //girl类的友元函数能访问girl类对象的私有成员 }

int main( ) {

girl e('z',18);

display(e); //调用友元函数

return 0; }

后置自增运算符“++”重载为类的成员函数(设类名为A)的形式为 A operator++(int) 。

假定AB为一个类,则语句AB(AB&x);为该类 拷贝构造 函数的原型说明。

定义类时,在类头中将使用关键字 class 来表示类定义的开始。

C++中,友元 不是 (是、不是)该类的成员函数

C++类的组成包括数据成员和 成员函数 。

new的功能是分配内存空间,delete的功能是 释放内存空间 。

无论是什么继承方式,派生类的成员不能访问基类 私有 属性的成员。

如果一个类包含一个或多个纯虚函数,则该类称为 抽象类 。

从实现的角度来讲,多态性可以划分为两类:静态多态性和 动态多态性

如果只想保留公共基类的一个复制,就必须使用关键字 virtual 把这个公共基类声明为虚基类。

C++中两种用户自定义的数据类型有结构体和 结构体类型变量 。

通过关键字 template 可以声明模板,通过关键字class(或typename)指定函数模板的类型参数,有几个类型参数就有几个类型关键字。

运算符重载要求保持其原来的操作数个数、结合性、 优先级 和语法结构。

类的静态成员分为静态数据成员和 静态函数成员 。

如果只想保留公共基类的一个复制,就必须使用关键字 virtual 把这个公共基类声明为虚基类。

在C++中,三种继承方式的说明符号为public、private和protected,如果不加说明,则默认的继承方式为 private 。

类和对象的关系可表述为:类是对象的抽象,而对象则是类的 实例 。

含有纯虚函数的类称为 抽象 类。

下列程序的功能是通过重载运算符“+=”,实现复数的相加赋值操作,请完善程序。 class Complex

{ double real,imag; public:

Complex( ) { real=0; imag=0; }

Complex( double r, double i) { real=r; imag=i; } Complex operator+=( Complex&x) { real +=x.real; imag +=x.imag;

returnComplex(real,imag); } };

下列程序第一行输出结果为8,第二行输出结果为9,请完善程序。 class B { int a,b; public:

B(int aa=0,int bb=0) { a=aa; b=bb; } B operator+( B b,int x);

void show( ) , cout<

B operator+( B b, int x) { B r;

r.a=_b.a+x_; r.b=_b.b+x-1_; return r; }

void main( )

{ B x(3,5), y(8,4),z1; z1=x+5; z1.show( ); }

以下程序实现动态数组类的功能,通过重载“=”实现动态数组对象的赋值,add函数实现元素的追加,试完成该程序。 class array { int num; float *p; public:

array( ) { num=0; p=0; } array (int n, float *a) { num=n;

if(num= =0) p=0;

else { p=new float[num]; for(int i=0; i

~array( ) { if(p) delete []p; } array& operator=(array &arr) { if(num= =arr.num)

{ for(int i=0; i

else { if(p) delete []p; p=new float[arr.num]; num=arr.num;

for(int i=0; i

returnthis; }

void add(float x) { num++;

float *pt=new float[num];

for(int i=0; i

void show( )

{ for(int i=0; i

void main( )

{ float x[4]={10,11,12,13}; array a1(2,x), a2;

a2=a1; a1.show( ); a2.show( );

a2.add(14); a2.add(35); a2.show( ); }

下列程序的功能是通过重载运算符“==”,实现字符串的比较运算,请完善程序。 class String { char *st; public:

int operator= =(String &); String( );

String(char *); ~String( );

void show( ) { cout<

String ::String( )


c++补考题目(附答案)(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:许可证有效期内辐射安全与防护工作总结报告

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: