• sdut 5-1 继承和派生


    5-1 继承与派生

    Time Limit: 1000MS Memory limit: 65536K

    题目描写叙述

    通过本题目的练习能够掌握继承与派生的概念。派生类的定义和用法。当中派生类构造函数的定义是重点。

    要求定义一个基类Point,它有两个私有的float型数据成员X,Y;一个构造函数用于对数据成员初始化;有一个成员函数void Move(float xOff, float yOff)实现分别对X,Y值的改变,当中參数xOffyOff分别代表偏移量。

    另外两个成员函数GetX() GetY()分别返回XY的值。

    Rectangle类是基类Point的公有派生类。

    它添加了两个float型的私有数据成员W,H; 添加了两个成员函数float GetH() float GetW()分别返回WH的值;并定义了自己的构造函数。实现对各个数据成员的初始化。

    编写主函数main()依据下面的输入输出提示,完毕整个程序。

    输入

     

    6float型的数据。分别代表矩形的横坐标X、纵坐标Y、宽度W,高度H、横向偏移量的值、纵向偏移量的值;每一个数据之间用一个空格间隔

    输出

     

    输出数据共同拥有4个,每一个数据之间用一个空格间隔。

    分别代表偏移以后的矩形的横坐标X、纵坐标Y、宽度W,高度H的值

    演示样例输入

    5 6 2 3 1 2

    演示样例输出

    6 8 2 3

    提示

     输入 -5 -6 -2 -3 2 10

    输出 -3 4 0 0

    来源


    #include <iostream>
    
    using namespace std;
    
    class Point //声明Point类
    {
    private :
        float x, y;
    
    public :
        Point (float x1=0, float y1=0): x(x1), y(y1) {};//定义构造函数
        void Move(float xoff, float yoff);//声明move函数
        float Getx() const {return x;}//定义成员函数Getx
        float Gety() const{return y;}//定义成员函数Gety
    };
    
    void Point :: Move(float xoff, float yoff)//定义Move 函数
    {
        x = x + xoff;
        y = y + yoff;
    }
    
    class Rectangle : public Point//定义Rectangle类
    {
    private :
        float w, h;
    
    public :
        Rectangle(float x1, float y1, float w1, float h);//声明Rectangle函数
        float Getw() const{return w;}
        float Geth()  const{return h;}
    };
    
    Rectangle :: Rectangle(float x1, float y1, float w1, float h1) : Point(x1, y1)//定义Rectangle函数
    {
        w=w1 >= 0 ? w1:0 ;
        h=h1 >= 0 ?

    h1:0 ; } int main()//主函数 { float x, y, w, h, xoff, yoff; cin>>x>>y>>w>>h>>xoff>>yoff; Point p1(x, y); Rectangle r1(x, y, w, h); p1.Move(xoff, yoff); cout <<p1.Getx()<<" "<<p1.Gety()<<" "<<r1.Getw()<<" "<<r1.Geth()<< endl; return 0; }





    版权声明:本文博客原创文章,博客,未经同意,不得转载。

  • 相关阅读:
    tablespaces
    转 房价
    Duplicate a whole line in Vim
    Dubbo+JStorm
    replace all
    ORACLE 最后表数据更新的时间
    list reverse
    python IDE
    string 方法
    java JIT AOT
  • 原文地址:https://www.cnblogs.com/gcczhongduan/p/4668468.html
Copyright © 2020-2023  润新知