罗蜜斯丹 2016-05-05 16:11 采纳率: 0%
浏览 1322
已采纳

C++面向对象入门~构造函数编译不通过

一个简单的面向对象入门,在codeblock上,构造函数的参数编译失败


#include <iostream>
using namespace std;
class Building
{
protected:
    string name;
    int floorNum,roomAmount;
    float wholeArea;
public:
    Building(string n,int f,int r,float w)
    {
        this->name=n;
        this->floorNum=f;
        this->roomAmount=r;
        this->wholeArea=w;
    }
    void display()
    {
        cout<<"建筑物名称:"<<name<<endl;
        cout<<"层数:"<<floorNum<<endl;
        cout<<"教室(房间)数"<<roomAmount<<endl;
        cout<<"总面积"<<wholeArea<<endl;
    }
};
class TeachBuilding:protected Building
{
protected:
    string func;
public:
    TeachBuilding(string n,int f,int r,float w,string func):Building(string n,int f,int r,float w)
    {
        this->func=func;
    }
    void display()
    {
        Building::display();
        cout<<"建筑物功能:"<<func<<endl;
    }
};
class DormBuilding :public Building
{
protected:
    int people;
public:
    DormBuilding(string n,int f,int r,float w,int people):Building(string n,int f,int r,float w)
    {
        this->people=people;
    }
    void display()
    {
        Building::display();
        cout<<"可容纳人数:"<<people<<endl;
    }
};
int main()
{
    TeachBuilding TB("5号楼",5,40,4000,"机房");
    TB.display();
    cout<<endl;
    DormBuilding DB("宿舍C3",8,140,1352,523);
    DB.display();
    return 0;

}
  • 写回答

6条回答 默认 最新

  • threenewbee 2016-05-05 17:02
    关注
     #include <iostream>
    using namespace std;
    class Building
    {
    protected:
        string name;
        int floorNum,roomAmount;
        float wholeArea;
    public:
        Building(string n,int f,int r,float w)
        {
            this->name=n;
            this->floorNum=f;
            this->roomAmount=r;
            this->wholeArea=w;
        }
        void display()
        {
            cout<<"建筑物名称:"<<name<<endl;
            cout<<"层数:"<<floorNum<<endl;
            cout<<"教室(房间)数"<<roomAmount<<endl;
            cout<<"总面积"<<wholeArea<<endl;
        }
    };
    class TeachBuilding:protected Building
    {
    protected:
        string func;
    public:
        TeachBuilding(string n,int f,int r,float w,string func):Building(n,f,r,w) //修改
        {
            this->func=func;
        }
        void display()
        {
            Building::display();
            cout<<"建筑物功能:"<<func<<endl;
        }
    };
    class DormBuilding :public Building
    {
    protected:
        int people;
    public:
        DormBuilding(string n,int f,int r,float w,int people):Building(n,f,r,w) //修改
        {
            this->people=people;
        }
        void display()
        {
            Building::display();
            cout<<"可容纳人数:"<<people<<endl;
        }
    };
    int main()
    {
        TeachBuilding TB("5号楼",5,40,4000,"机房");
        TB.display();
        cout<<endl;
        DormBuilding DB("宿舍C3",8,140,1352,523);
        DB.display();
        return 0;
    
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(5条)

报告相同问题?

悬赏问题

  • ¥15 请问这个是什么意思?
  • ¥15 STM32驱动继电器
  • ¥15 Windows server update services
  • ¥15 关于#c语言#的问题:我现在在做一个墨水屏设计,2.9英寸的小屏怎么换4.2英寸大屏
  • ¥15 模糊pid与pid仿真结果几乎一样
  • ¥15 java的GUI的运用
  • ¥15 我想付费需要AKM公司DSP开发资料及相关开发。
  • ¥15 怎么配置广告联盟瀑布流
  • ¥15 Rstudio 保存代码闪退
  • ¥20 win系统的PYQT程序生成的数据如何放入云服务器阿里云window版?