我在這裏遇到了一些麻煩。我不知道我做錯了什麼。我的bike.cpp類很好。但我認爲問題出在bike_shed類,我遇到了「park」和「checklegal」方法的問題。我們被要求做這樣的事情:「有10個默認構造的自行車對象的私有數組BikeShed該類的類應該具有以下公共方法:由編譯器提供Objects Array - C++
- 一個默認的構造BikeShed() 。
函數布爾公園(常量自行車&)增加了一個自行車可用 現場並返回true,如果BikeShed已滿,則函數返回 假。
函數自行車刪除(常量字符串& int),重新移動並返回 與給定名稱的所有者的第一輛自行車。如果找到這樣的自行車不是 ,則該功能返回一輛自行車「無」。
一個函數bool checkLegal(),如果所有非「None」的自行車 合法,它將返回true。如果發現一輛自行車違章 打印一條信息打印自行車。 。
一個函數void print()函數,打印所有的自行車與業主 不是 「無」 等」
這裏是我的代碼:
這裏是bike_shed.cpp文件
#include <iostream>
#include "bike_shed.h"
#include "Bike.h"
using namespace std;
void bike_shed::print(){
cout<< "Bike: " << sizeof(Bike) <<endl;
}
bool bike_shed::checkLegal() {
Bike bike1;
if(bike1.getOwner() == "None"){
return false;
}
else{
return true;
}
}
//Bike bike_shed::remove(const string&, int) {
//
//
//}
bool bike_shed::park(const Bike&) {
if (sizeof(Bike) > 10) {
return false;
}
}
這裏是Bike.cpp文件
#include "Bike.h"
#include <iostream>
using namespace std;
void Bike::setNLight(int _light) {
d_nLight = _light;
}
void Bike::setBell(bool _bell) {
d_bell = _bell;
}
void Bike::setOwner(string _owner) {
d_owner = _owner;
}
void Bike::setReflector(bool _reflector) {
d_reflector = _reflector;
}
int Bike::getNLight() {
return d_nLight;
}
string Bike::getOwner() {
return d_owner;
}
bool Bike:: hasReflector() {
if (d_reflector == true) {
return true;
}
else {
return false;
}
}
bool Bike:: hasBell(){
if(d_bell == true) {
return true;
}
else{
return false;
}
}
bool Bike::isLegal() {
if (d_nLight >= 1 && d_reflector && d_bell) {
return true;
}
else {
return false;
}
}
void Bike::print() {
cout << "Owner: " << d_owner << " Color: " << d_color.Red << " " << d_color.Green << " " << d_color.Blue
<< " " << " Lights: " << d_nLight << " Bell: " << d_bell << " Reflector: " <<d_reflector << endl;
}
Bike::Bike(string name, Color color){
d_owner = name;
d_color = color;
}
這裏是bike_shed.h文件
#include "Bike.h"
class bike_shed {
public:
bike_shed();
bool park(const Bike&);
Bike remove(const string&, int);
bool checkLegal();
void print();
public:
Bike bike[10];};
我會很感激,如果有人能幫助我。謝謝:)
您可能想要澄清remove方法的簽名。 int是什麼?在頂部的描述中,你沒有在'string'和'int'之間加逗號。 –