物件導向練習

2022-07-12 12:57:12 字數 3726 閱讀 1750

定義boat和car兩個類,兩者都有私有成員weight屬性,定義兩者的乙個友員函式totalweight(),計算兩個類的物件的重量和。

請根據給定的main函式和totalweight()函式的定義,完善boat和car兩個類。

友元函式的使用

#include  using  namespace  std;  

class car;

class boat;

private:

int weight;

}; class car

private:

int weight;};

int totalweight(boat& b,car& c)

int main()

return0;

}int maxday(int y,int

m)

else

if( m==1 ||m ==3 || m == 5 || m ==7 || m ==8 || m== 10 || m==12 ) return31;

return30;

}int days(int y,int m,int

d)

for(int i=1;i)

return res+d;

}class

ctime

bool

isvalid()

int check(int y,int m,int d,int h,int m,int

s)

void initial(int y,int m,int d,int h,int m,int

s) ctime(

int y,int m,int d,int h=0,int m=0,int s=0

)

else

if( check( y, m, d, h, m, s)==2

)

else

initial(y,m,d,h,m,s);

cout

<<"

建構函式被呼叫

"<}

ctime(

const ctime &ct)

void

showtime()

intdaydiff(ctime t1);

private

:

intyear,month,day,hour,minute,second;

};int

ctime :: daydiff(ctime t1)

intmain() }

/*【樣例輸入1】

3 12 11 50 20

【樣例輸出1】

建構函式被呼叫

2020/3/12 11:50:20

建構函式被呼叫

拷貝建構函式被呼叫

析構函式被呼叫

這兩天之間相隔了7376天

拷貝建構函式被呼叫

析構函式被呼叫

這兩天之間相隔了7376天

析構函式被呼叫

析構函式被呼叫

*/

【問題描述】設計乙個crectangle類,其中包括cpoint類的兩個物件成員,表示左上角和右下角的兩個點。要求求解矩形的面積。

注意,每個類的建構函式、拷貝建構函式需要輸出「*** is called」,具體的請根據輸出進行分析。

main函式已經給定如下:

int main()

int a=1, b=1, c=6, d=11;

cout<<"# define p1 ######"cout<<"# define p2 ######"cout<<"# define rect1 ######"cout<<"# define rect2 ######"cout<<"# define rect3 ######"cout<<"# define rect4 ######"cout<<"# calculate area ######"cout << "rect2面積為" << rect2.getarea() << endl;

cout << "rect3面積為" << rect3.getarea() << endl;

cout << "rect4面積為" << rect4.getarea() << endl;

system("pause");

return 0;

【樣例輸出】

# define p1 ######

cpoint contstructor with default value(0,0) is called.

# define p2 ######

cpoint contstructor with default value(0,0) is called.

# define rect1 ######

cpoint contstructor with default value(0,0) is called.

cpoint contstructor with default value(0,0) is called.

crectangle default contstructor is called.

# define rect2 ######

cpoint copy contstructor is called.

cpoint copy contstructor is called.

cpoint copy contstructor is called.

cpoint copy contstructor is called.

crectangle contstructor with (cpoint,cpoint) is called.

# define rect3 ######

cpoint contstructor with default value(0,0) is called.

cpoint contstructor with default value(0,0) is called.

crectangle contstructor with (int,int,int,int) is called.

# define rect4 ######

cpoint copy contstructor is called.

cpoint copy contstructor is called.

crectangle copy contstructor is called.

# calculate area ######

rect1面積為0

rect2面積為200

rect3面積為50

rect4面積為200

#includeusing namespace std;

class crectangle;

class cpoint

cpoint( const cpoint &p )

private:

int a,b;

};class crectangle

else

}crectangle(cpoint pa,cpoint pb): a(pa),b(pb)

crectangle(const crectangle &rec):a(rec.a),b(rec.b)

int getarea()

private:

cpoint a,b;

};int main()

物件導向練習

include hero.class.php hero new hero 張三 建立英雄 hero daguai hero show hero daguai hero show hero daguai hero show hero daguai hero show hero daguai hero ...

物件導向前練習

總結 1.python的命名規則 只能以字母數字下劃線命名,不能以數字開頭,變數名不能是保留字元,1.2.行的縮排 1.3.注釋 1.4.不換行輸出 print 表示式1,表示式2,end 1.5三目運算子的格式,符合條件結果 if 條件 else 不符合條件結果 2.資料型別 2.1數字型別 整數...

物件導向知識練習

author ryzreal date 2018 7 2 類的定義 class 類名 def 方法名 self,args,kwargs print args return 1 中間人 類名 ret 中間人.方法名 1 print ret self 等於被呼叫的中間人 公共的部分可以封裝到中間人裡 c...