我是靠谱客的博主 踏实豌豆,最近开发中收集的这篇文章主要介绍Point类具有int x,int y两个数据成员。Rectangle类公有继承Point类。,觉得挺不错的,现在分享给大家,希望可以做个参考。
概述
1.Point
类具有
int x,int y
两个数据成员。
Rectangle
类公有继承
Point
类。
要求:
(
1
)为派生类增加构造函数、析构函数,及其它必要的函数。
(
2
)派生类中有能够打印矩形信息的函数,包括的信息有矩形点的位置坐标、矩形长宽值及面积。
#include<iostream>
using namespace std;
class Point{ //声明基类Point
public:
Point(){} //基类默认构造函数
Point(int x,int y);
Point(Point &p):x(p.x),y(p.y){} //基类复制构造函数
void show();//打印点坐标的函数
~Point(){} //基类析构函数
private:
int x,y;
};
Point::Point(int x,int y){
Point::x=x;
Point::y=y;
}
void Point::show(){
cout<<"("<<x<<","<<y<<")"<<endl;
}
class Rectangle:public Point{ //声明公用派生类Rectangle
public:
Rectangle(){} //派生类默认构造函数
Rectangle(int x,int y,int width,int length);
Rectangle(Rectangle &p):width(p.width),length(p.length){}
int getArea(); //求矩形面积的函数
~Rectangle(){} //派生类析构函数
void display(); //打印矩形的长、宽、面积
private:
Point l_P,r_P; //声明基类Point的对象
int width,length;
};
Rectangle::Rectangle(int l_x,int l_y,int r_x,int r_y):l_P(l_x,l_y),r_P(l_x,l_y){
width=r_x-l_x; //两坐标的横坐标之差的值是宽
length=r_y-l_y; //两坐标的纵坐标之差的值是长
}
int Rectangle::getArea(){//定义求面积的函数
return width*length;
}
void Rectangle::display(){
cout<<"长:"<<(width>length?width:length)<<endl;
cout<<"宽:"<<(width>length?length:width)<<endl;
cout<<"面积:"<<getArea()<<endl;
}
int main()
{
Point p1(1,2),p2(3,4); //Point类对象p1、p2并初始化
cout<<"左下角点的坐标:";p1.show();
cout<<"右上角点的坐标:";p2.show();//输出两点坐标
Rectangle r(1,2,3,4);
r.display();
return 0;
}
最后
以上就是踏实豌豆为你收集整理的Point类具有int x,int y两个数据成员。Rectangle类公有继承Point类。的全部内容,希望文章能够帮你解决Point类具有int x,int y两个数据成员。Rectangle类公有继承Point类。所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复