一个简单的面向对象入门,在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;
}