5-1 继承与派生

Time Limit: 1000MS Memory limit: 65536K

题目描写叙述

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

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

另外两个成员函数GetX() 、GetY()分别返回X和Y的值。

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

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

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

输入

6个float型的数据。分别代表矩形的横坐标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;
}



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

sdut 5-1 继承和派生的更多相关文章

  1. c++学习--继承与派生

    继承和派生 1 含有对象成员(子对象)的派生类的构造函数,定义派生类对象成员时,构造函数的执行顺序如下: 1 调用基类的构造函数,对基类数据成员初始化: 2 调用对象成员的构造函数,对对象成员的数据成 ...

  2. 不可或缺 Windows Native (21) - C++: 继承, 组合, 派生类的构造函数和析构函数, 基类与派生类的转换, 子对象的实例化, 基类成员的隐藏(派生类成员覆盖基类成员)

    [源码下载] 不可或缺 Windows Native (21) - C++: 继承, 组合, 派生类的构造函数和析构函数, 基类与派生类的转换, 子对象的实例化, 基类成员的隐藏(派生类成员覆盖基类成 ...

  3. [C++]类的继承与派生

    继承性是面向对象程序设计的第二大特性,它允许在既有类的基础上创建新类,新类可以继承既有类的数据成员和成员函数,可以添加自己特有的数据成员和成员函数,还可以对既有类中的成员函数重新定义.利用类的继承和派 ...

  4. O-c中类的继承与派生的概念

    什么是继承 众所周知,面向对象的编程语言具有: 抽象性, 封装性, 继承性, 以及多态性 的特征. 那么什么是继承呢? 传统意义上是指从父辈那里获得父辈留下的东西 在开发中, 继承就是"复用 ...

  5. 程序设计实习MOOC / 继承和派生——编程作业 第五周程序填空题1

    描述 写一个MyString 类,使得下面程序的输出结果是: 1. abcd-efgh-abcd- 2. abcd- 3. 4. abcd-efgh- 5. efgh- 6. c 7. abcd- 8 ...

  6. 走进C++程序世界------继承和派生

    继承和派生 继承是面向对象编程语言的最重要方面之一,正确的使用继承可编写出设计良好,容易于维护和扩展的应用程序.下面是在其他博客中的总结: ****************************** ...

  7. C++学习之路—继承与派生(一):基本概念与基类成员的访问属性

    (本文根据<c++程序设计>(谭浩强)总结而成,整理者:华科小涛@http://www.cnblogs.com/hust-ghtao,转载请注明) 1   基本思想与概念 在传统的程序设计 ...

  8. C/C++基础知识总结——继承与派生

    1. 类的继承与派生 1.1 派生类的定义 (1) 定义规范 class 派生类名: 继承方式 基类1名, 继承方式 基类2名... { ...派生类成员声明; }; (2) 从以上形式上看可以多继承 ...

  9. python基础——继承与派生、组合

    python基础--继承与派生 1 什么是继承: 继承是一种创建新的类的方式,在python中,新建的类可以继承自一个或者多个父类,原始类成为基类或超累,新建的类成为派生类或子类 1.1 继承分为:单 ...

随机推荐

  1. JavaScript中的一些细节 分类: C1_HTML/JS/JQUERY 2014-08-05 16:45 384人阅读 评论(0) 收藏

    1.设置id / class等属性 用 setAttribute 设置一些常规属性如 id ,className 的时候经常不起作用,只能用 object.id = value 这样来设置 news_ ...

  2. Android自己定义控件2-简单的写字板控件

    概述 上一篇文章我们对自己定义控件进行了一个大体的知识介绍. 今天就来学习自己定义一个简单的写字板控件. 先来看看效果图 就是简单的依据手指写下的轨迹去画出内容 实现 在上一篇文章里提到了androi ...

  3. Android JNI编程(一)——JNI概念以及C语言Dev-C++开发环境搭建、编写HelloWorld

    版权声明:本文出自阿钟的博客,转载请注明出处:http://blog.csdn.net/a_zhon/. 目录(?)[+] 一:JNI是什么呢? JNI:JNI是JavaNative Interfac ...

  4. 账号权限问题导致 masterha_check_repl 检查失败

    在使用 masterha_check_repl --global_conf=/etc/masterha/masterha_default.conf --conf=/etc/masterha/app1. ...

  5. 【30.23%】【codeforces 552C】Vanya and Scales

    time limit per test1 second memory limit per test256 megabytes inputstandard input outputstandard ou ...

  6. java开发中的那些事(5)--------一点经历,败给2分钟的2个小时

    特意记下这个经历,这个让我感慨万千又斗志昂扬的一次经历,这是经验,也是生活. 故事的始末是这种,先给大家上几句代码,如今身在家中,仅仅能凭记忆敲打几行,大致意思倒不会错: {field:'code', ...

  7. cocos2d-x AnchorPoint锚点

    锚点是定位和变换操作的一个重点.锚点我们能够看成用一根图钉将一张纸或者相片钉在墙上的那个点. 节点的位置是由我们设置的position和anchor point一起决定的. 值得一提的是,anchor ...

  8. 接入Erlang控制台的几种方法

    在window中调试的时候我们可以通过启动多个cmd窗口运行Erlang节点,在生产环境中我们需要Erlang服务在Centos服务器上后台运行;这就需要在启动的时候添加启动参数detached来脱离 ...

  9. 【Qt程序】基于Qt词典开发系列&lt;十二&gt;呼叫讲述

    我们知道,win7系统自带有讲述人,即能够机器读出当前内容,详细能够将电脑锁定.然后点击左下角的button就可以.之前在用Matlab写扫雷游戏的时候,也以前调用过讲述人来进行游戏的语音提示. 详细 ...

  10. python request 代理/超时/证书

    import requests headers = { "User-Agent": "Mozilla/5.0 (Windows NT 6.1; Win64; x64) A ...