我是靠谱客的博主 踏实豌豆,最近开发中收集的这篇文章主要介绍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类。所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(67)

评论列表共有 0 条评论

立即
投稿
返回
顶部