第10章C语言程序设计习题答案

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

C 语言程序设计( Visual C++6.0 环境)》习题答案

习题十

、思考题

1.简述公有类型成员与私有类型成员的区别。

公有(public) 类型成员不但可以被类的成员函数访问,而且可以被外界访问,所以说公有类型定义了类的外部接口。

私有(private) 类型成员只能被类的成员函数访问,外界不能直接访问它。类的数据成员一般都应该声明为私有成员。

2.简述构造函数与析构函数的作用。

构造函数的作用就是在对象在被创建时利用特定的值构造对象,将对象初始化。析构函数的作用与构造函数正好相反,它是用来在对象被删除前进行一些清理工作。析构函数调用之后,对象被撤消了,相应的内存空间也将被释放。

3.简述什么是友元函数。

友元函数是在类定义中由关键字friend 修饰的非成员函数。友元函数可以是一个普通函数,也可以其它类中的一个成员函数,它不是本类的成员函数,但它可以访问本类的私有成员和保护成员。

4.简述公有继承、私有继承和保护继承三种继承方式的区别。

⑴、当类的继承方式为公有(public 继承)时,基类的公有(public )成员和保

护( protected )成员仍然成为派生类的公有成员和保护成员,而基类的私有成员不能被派生类访问。

⑵、当类的继承方式为保护( protected )继承时,基类的公有(public )成员和

保护( protected )成员将成为派生类的保护成员,而基类的私有成员不能被派生类访问。

⑶、当类的继承方式为私有(private )继承时,基类的公有(public )成员和保护(protected )成员将成为派生类的私有成员,而基类的私有成员不能被派生类访问。5.定义一个圆柱体类,其属性为圆柱体的底面半径和高,能计算出圆柱体的体积。

#include

class cylinder

{

public:

cylinder(float r,float h)

{

radius=r;

height=h;

}

float Volume();

private:

float radius;

float height;

};

float cylinder::Volume()

{

return 3.14*radius*radius*height;

}

void main()

{

float r,h;

cout<<" 请输入圆柱体的底面半径和高:"; cin>>r>>h;

cylinder x(r,h);

cout<

}

6.从第 5 题中定义的圆柱体类中派生出圆锥类,覆盖计算体积的成员函数。#include

class cylinder

{

public:

cylinder(float r,float h)

{

radius=r;

height=h;

}

float Volume();

private:

float radius;

float height;

};

float cylinder::Volume()

{

return 3.14*radius*radius*height;

}

class cone:public cylinder

{

public:

float Volume();

cone(float r,float h):cylinder(r,h){};

};

float cone::Volume()

{

return cylinder::Volume()/3.0;

}

void main()

float r,h;

{

cout<<" 请输入圆锥体的底面半径和高:"; cin>>r>>h;

cone x(r,h); cout<

}

7.定义一个生日( birthday )类,有年、月、日三个数据成员和输出生日成员函数。

#include

class birthday

{

public:

birthday(int y,int m,int d)

{ year=y;month=m;day=d;

}

void PrintBirth();

private:

int year;

int month;

int day;

};

void birthday::PrintBirth()

{ cout<

}

void main()

{

birthday b(2000,12,12); b.PrintBirth();

}

8 •定义一个形状(shape)类,在此基础上派生出矩形类和圆类,二者都有用来计算面积和周长的成员函数。

#include class shape

{

public:

float GetArea();

float GetPerimeter();

};

class rectangle:public shape

{

private:

float width;

float height;

public:

rectangle(float w,float h)

{

相关文档
最新文档