大学C++期末考试题库及答案(更正部分答案)(5)

2018-12-21 13:50

C++程序设计试卷

cout << \输出结果\car1. show (); tru1. show (); }

7、设计一个点类Point,包含点的坐标x,y 两个数据成员,采用友元类的方式分别计算两点间的水平距离和垂直距离。 #include using namespace std;

class Point;//先声明类型Point

int horizontalDistance(const Point& first, const Point& second);//水平距离函数声明

int verticalDistance(const Point& first, const Point& second);//垂直距离函数声明

class Point { private: int x;//横坐标 int y;//纵坐标 public:

Point(int x=0, int y = 0)//构造函数 {

this->x = x; this->y = y; }

friend int horizontalDistance(const Point& first, const Point& second); friend int verticalDistance(const Point& first, const Point& second); };

//水平距离函数定义

第 21 页 共 29 页

C++程序设计试卷

int horizontalDistance(const Point& first, const Point& second) {

if(first.x -second.x >=0) return first.x-second.x; else

return second.x-first.x; }

//垂直距离函数定义

int verticalDistance(const Point& first, const Point& second) {

if(first.y -second.y >=0) return first.y-second.y; else

return second.y-first.y; }

int main() {

Point a(1,2); //定义三个Point对象 Point b(0,0); Point c(-1,-1); //测试

cout<< horizontalDistance(a,b) <

8、设计一个点类Point,包含横、纵两个坐标数据x,y,由它派生出圆类Circle,并添加一个半径数据r,求其面积area。

第 22 页 共 29 页

C++程序设计试卷

#include //#include//此头文件与下面的setprecision(3)对应,可同时加上,控制输出精度 using namespace std; #define PI 3.1415926 //点类如下: class Point { public: Point() {}

Point(float x1,float y1) { x=x1; y=y1; }

virtual float area()=0; virtual float perim()=0;//周长 private: float x; float y; };

class Circle:public Point { public:

Circle(float x1,float y1,float r1); float area(); float perim(); private:

第 23 页 共 29 页

C++程序设计试卷

float r; };

Circle::Circle(float x1,float y1,float r1):Point(x1,y1) { r=r1; }

float Circle::area() {

return PI*r*r; }

float Circle::perim() {

return 2*PI*r; }

int main() {

Point *p;

Circle circle(0,0,3);//前两个为point(0,0),第三个常量\为圆的半径。 p=&circle;

cout<<\的周长是:\ cout<<\的面积是:\}

9、设计一个点类Point,包含两个坐标数据成员x,y和一个构造函数;再设计一个友元函数distance()用于求两点之间的距离。 #include using namespace std;

class Point;//先声明类型Point

第 24 页 共 29 页

C++程序设计试卷

int horizontalDistance(const Point& first, const Point& second);//水平距离函数声明

int verticalDistance(const Point& first, const Point& second);//垂直距离函数声明 class Point { private: int x;//横坐标 int y;//纵坐标 public:

Point(int x=0, int y = 0)//构造函数 {

this->x = x; this->y = y; }

friend int horizontalDistance(const Point& first, const Point& second); };

//水平距离函数定义

int horizontalDistance(const Point& first, const Point& second) {

if(first.x -second.x >=0) return first.x-second.x; else

return second.x-first.x; }

int main() {

Point a(1,2);//定义三个Point对象 Point b(0,0); Point c(-1,-1);

第 25 页 共 29 页


大学C++期末考试题库及答案(更正部分答案)(5).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:小学数学课堂教学评价方案

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

马上注册会员

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