第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

有關(guān)類的繼承

有關(guān)類的繼承

C++
wendy0512 2015-12-25 17:48:56
#include <iostream.h>class Building{private:?int floor;?int room;?float area;public:?Building(int f,int r,float a)?{??floor=f;??room=r;??area=a;?}?virtual void show()?{??cout<<"樓房的層數(shù):"<<floor<<"房間數(shù):"<<room<<"總平方數(shù):"<<area<<endl;?}};class House:public Building{private:?int bedroom;?int bathroom;public:?House(int be,int ba)?{??bedroom=be;??bathroom=ba;?}?void show()?{??cout<<"臥室的數(shù)量:"<<bedroom<<"浴室的數(shù)量:"<<bathroom<<endl;?}};class Office:public Building{private:?int fire;?int telephone;public:?Office(int fi,int te)?{??fire=fi;??telephone=te;?}?void show()?{??cout<<"滅火器的數(shù)量:"<<fire<<"電話的數(shù)量:"<<telephone<<endl;?}};void main(){?Building B(3,5,100),*p;?House H(3,2);?Office O(5,6);?p=&B;?p->show();?p=&H;?p->show();?p=&O;?p->show();}error C2512: 'Building' : no appropriate default constructor available為什么會出現(xiàn)這個
查看完整描述

1 回答

?
MadMarical

TA貢獻79條經(jīng)驗 獲得超122個贊

你好。在c++中,繼承不會繼承父類的構(gòu)造方法。但是在你調(diào)用子類方法時,會調(diào)用父類的構(gòu)造函數(shù)。那么你這個問題就是因為繼承之后沒有顯示的初始化你父類的構(gòu)造方法導致了錯誤。比如你的house h(3,2)此時編譯器先調(diào)用父類的構(gòu)造方法,發(fā)現(xiàn)f,r,a 都不知道是什么,這樣就產(chǎn)生了錯誤。正確的方法,請看例程1。

例程1

#include?<iostream>

using?namespace?std;

class?Building
{
private:
????int?floor;
????int?room;
????float?area;
public:
????Building(int?f,int?r,float?a)?:?floor(f),room(r),area(a)
????{
????}
????virtual?void?show()
????{
????????cout<<"樓房的層數(shù):"<<floor<<"房間數(shù):"<<room<<"總平方數(shù):"<<area<<endl;
????}
};
class?House:public?Building
{
private:
????int?bedroom;
????int?bathroom;
public:
????House(int?be,int?ba)?:?Building(3,4,5)
????{
????????bedroom=be;
????????bathroom=ba;
????}
????void?show()
????{
????????cout<<"臥室的數(shù)量:"<<bedroom<<"浴室的數(shù)量:"<<bathroom<<endl;
????}
};
class?Office:public?Building
{
private:
????int?fire;
????int?telephone;
public:
????Office(int?fi,int?te)?:?Building(3,4,5)
????{
????????fire=fi;
????????telephone=te;
????}
????void?show()
????{
????????cout<<"滅火器的數(shù)量:"<<fire<<"電話的數(shù)量:"<<telephone<<endl;
????}
};
int?main()
{
????Building?B(3,5,100),*p;
????House?H(3,2);
????Office?O(5,6);
????p=&B;
????p->show();
????p=&H;
????p->show();
????p=&O;
????p->show();
????
????return?0;
}


查看完整回答
反對 回復 2016-01-18
  • 1 回答
  • 0 關(guān)注
  • 1215 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號