问题描述
- C++面向对象入门~构造函数编译不通过
- 一个简单的面向对象入门,在codeblock上,构造函数的参数编译失败
#include <iostream>using namespace std;class Building{protected: string name; int floorNumroomAmount; float wholeArea;public: Building(string nint fint rfloat 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 nint fint rfloat wstring func):Building(string nint fint rfloat w) { this->func=func; } void display() { Building::display(); cout<<""建筑物功能:""<<func<<endl; }};class DormBuilding :public Building{protected: int people;public: DormBuilding(string nint fint rfloat wint people):Building(string nint fint rfloat w) { this->people=people; } void display() { Building::display(); cout<<""可容纳人数:""<<people<<endl; }};int main(){ TeachBuilding TB(""5号楼""5404000机房""); TB.display(); cout<<endl; DormBuilding DB(""宿舍C3""81401352523); DB.display(); return 0;}
解决方案
#include <iostream>using namespace std;class Building{protected: string name; int floorNumroomAmount; float wholeArea;public: Building(string nint fint rfloat 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 nint fint rfloat wstring func):Building(nfrw) //修改 { this->func=func; } void display() { Building::display(); cout<<""建筑物功能:""<<func<<endl; }};class DormBuilding :public Building{protected: int people;public: DormBuilding(string nint fint rfloat wint people):Building(nfrw) //修改 { this->people=people; } void display() { Building::display(); cout<<""可容纳人数:""<<people<<endl; }};int main(){ TeachBuilding TB(""5号楼""5404000机房""); TB.display(); cout<<endl; DormBuilding DB(""宿舍C3""81401352523); DB.display(); return 0;}
解决方案二:
建筑物名称:5号楼
层数:5
教室(房间)数40
总面积4000
建筑物功能:机房
建筑物名称:宿舍C3
层数:8
教室(房间)数140
总面积1352
可容纳人数:523
解决方案三:
building类中的缺少初始构造函数
就是你应该有无参数传入的构造函数
解决方案四:
你的程序中有:string name;所以你要加上头文件#include
其次,你的这句代码TeachBuilding(string nint fint rfloat wstring func):Building(nfrw)。有些问题
解决方案五:
没有错误提示吗?错误提前????
解决方案六:
string头文件都没加
时间: 2024-08-03 20:39:18