【問題描述】
(1)拷貝(複製)建構函式的實現。
在已經完成的「橢圓類——1」的基礎上,增加乙個拷貝建構函式。
函式原型格式:ellipse(const ellipse & e);
(2)增加show()函式,顯示橢圓的外切矩形的頂點座標。
(3)增加乙個成員函式fun(int y),將橢圓外切矩形的左上角和右下角的縱座標分別加y和減y。
(4)增加析構函式,在析構函式中輸出「xigou」以及待析構物件的外切矩形左上角的橫縱座標。
【輸入形式】
在主函式中輸入頂點座標後建立乙個物件,並用該物件作為初始值再建立乙個新物件。
輸入乙個值,用於修改新物件的外切矩形的縱座標。
【輸出形式】
在主函式裡呼叫這2個物件的show函式分別輸出外切矩形的頂點座標,
呼叫area函式分別計算並輸出橢圓的面積。
接收修改值y後,呼叫fun函式修改新物件的縱座標。重新計算新物件的面積並輸出。
【樣例輸入】
-3 1 3 -1
1【樣例輸出】
-3 1 3 -1
-3 1 3 -1
9.4245
9.4245
18.849
xigou -3 2
xigou -3 1
#include
#include
#include
using
namespace std;
class
ellipse
intgety1()
intgetx2()
intgety2()
void
show()
;//顯示橢圓的外切矩形的頂點座標
void
fun(
int y)
;//將橢圓外切矩形的左上角和右下角的縱座標分別加y和減y};
ellipse::
ellipse
(int xx1,
int yy1,
int xx2,
int yy2)
ellipse::
ellipse
(const ellipse & e)
//拷貝建構函式
ellipse::
~ellipse()
//析構函式
double ellipse::
area()
void ellipse::
show()
//顯示橢圓的外切矩形的頂點座標
void ellipse::
fun(
int y)
//將橢圓外切矩形的左上角和右下角的縱座標分別加y和減y
intmain()
建構函式析構函式和拷貝建構函式
建構函式 建立類物件,並初始化其值。1.傳參 2.按照類成員宣告順序依次構造其成員 3.執行建構函式函式體 析構函式 用來完成物件被刪除前的一些清理工作 釋放類物件 1.執行析構函式函式 2.按照類中成員變數宣告順序的逆序依次析構其成員 初始化列表 初始化物件成員 呼叫成員物件的帶參構造 形式 在建...
建構函式 析構函式和拷貝建構函式
建構函式是乙個特殊的成員函式,名字與類名相同,建立類型別物件時由編譯器自動呼叫,保證每個資料成員都有 乙個合適的初始值,並且在物件的生命週期內只呼叫一次。建構函式是用來初始化物件的 其特徵如下 函式名與類名相同。無返回值。物件例項化時編譯器自動呼叫對應的建構函式。建構函式可以過載。class dat...
建構函式 拷貝建構函式 析構函式
1.如果定義了兩個預設建構函式,vc只回給出warning.2.如果有預設引數的預設構造,如果你給了第乙個預設的話 所有傳遞引數都要有預設植 否則報錯.不過如果是第乙個引數的預設值沒有給出的話,編譯器卻看不出問題,但是沒有 試過這種情況建構函式能不能正常工作.建構函式 用來初始化物件的資料成員,與類...