zoukankan      html  css  js  c++  java
  • 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; }





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

  • 相关阅读:
    我爱java系列之---【微服务间的认证—Feign拦截器】
    我爱java系列之---【设置权限的三种解决方案】
    581. Shortest Unsorted Continuous Subarray
    129. Sum Root to Leaf Numbers
    513. Find Bottom Left Tree Value
    515. Find Largest Value in Each Tree Row
    155. Min Stack max stack Maxpop O(1) 操作
    painting house
    Minimum Adjustment Cost
    k Sum
  • 原文地址:https://www.cnblogs.com/gcczhongduan/p/4668468.html
Copyright © 2011-2022 走看看