5 1 繼承與派生

2021-07-22 21:18:24 字數 1520 閱讀 2529

time limit: 1000ms

memory limit: 65536kb

submit

statistic

problem description

通過本題目的練習可以掌握繼承與派生的概念,派生類的定義和使用方法,其中派生類建構函式的定義是重點。

要求定義乙個基類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()

根據以下的輸入輸出提示,完成整個程式。

input

6個float

型的資料,分別代表矩形的橫座標x

、縱座標y

、寬度w

,高度h

、橫向偏移量的值、縱向偏移量的值;每個資料之間用乙個空格間隔

output

輸出資料共有4

個,每個資料之間用乙個空格間隔。分別代表偏移以後的矩形的橫座標x

、縱座標y

、寬度w

,高度h的值

example input

5 6 2 3 1 2

example output

6 8 2 3

hint

輸入-5 -6 -2 -3 2 10

輸出-3 4 0 0

author

黃晶晶#include#includeusing namespace std;

class point

void move(float xoff, float yoff)

float getx()

float gety()

};class rectangle: public point

float getw()

};rectangle::rectangle(float a, float b, float c, float d):point(a, b)

int main()

{ ios::sync_with_stdio(false);

float a, b, c, d, e, f;

cin>>a>>b>>c>>d>>e>>f;

rectangle r(a, b, c, d);

r.move(e, f);

cout<

5 1 繼承與派生

time limit 1000ms memory limit 65536kb submit statistic problem description 通過本題目的練習可以掌握繼承與派生的概念,派生類的定義和使用方法,其中派生類建構函式的定義是重點。要求定義乙個基類point 它有兩個私有的floa...

5 1 繼承與派生

time limit 1000ms memory limit 65536kb submit statistic problem description 通過本題目的練習可以掌握繼承與派生的概念,派生類的定義和使用方法,其中派生類建構函式的定義是重點。要求定義乙個基類point 它有兩個私有的floa...

5 1 繼承與派生

time limit 1000ms memory limit 65536kb submit statistic problem description 通過本題目的練習可以掌握繼承與派生的概念,派生類的定義和使用方法,其中派生類建構函式的定義是重點。要求定義乙個基類point 它有兩個私有的floa...