2014-04-09 6 views
-1

오류가없고 빌드되어 실행되지만 차량 유형이 표시되지 않습니다. 모든 도움을 주셨습니다. 내 객체에 문자열 "car"를 저장하려고 시도했지만 작동하지 않습니다.오브젝트 문제 C++

string vType[] = {"Car","Van","Lorry","Motorbike","Tanker"};

와 내가 사용하려고 :

Vehicle one; 
one.setVehicleType(vType[0]); 
cout << "Vehicle Type:" << one.getVehicleType() << endl; 

Vehicle.ccp

#include "Vehicle.h" 
Vehicle::Vehicle() { 
vehicleMake = ' '; 
} 

Vehicle::Vehicle(string type){ 
    vehicleVehicleType = type; 

} 

Vehicle::~Vehicle(){ 

} 





//getMethods 


string Vehicle::getFuelType()const{ 
    return vehicleFuelType; 
} 

string Vehicle::getVehicleType()const{ 
    return vehicleVehicleType; 
} 




//setMethods 

void Vehicle::setMake(string make){ 
    vehicleMake = make; 
} 


void Vehicle::setVehicleType(string type){ 
    vehicleFuelType = type; 
} 

Vehicle.h을

class Vehicle{ 

    public:  
    //Default Constructor 
     Vehicle(); 

    //Overload constructor 
     Vehicle(char, string, string, string, string, int, int, int, int); 

    //Destructor 
     ~Vehicle(); 

    //Accessor Functions 
     //get methods 
     string vehicleType() const; 

    void setVehicleType(string); 
     //setFuelType - for Vehicle 

    protected: 
     string vehicleVehicleType; 

답변

0

을 의미 난 당신이 setter 함수 여기에 잘못된 필드를 설정하는 생각 :

void Vehicle::setVehicleType(string type){ 
    vehicleFuelType = type; 
} 

이어야

void Vehicle::setVehicleType(string type){ 
    vehicleVehicleType = type; 
} 

그리고, 당신은 적절한 건축가로서 ctor를 사용하면 개체를 만드는 더 좋은 방법입니다.

Vehicle one(vType[0]); 
2

당신을 설정하는 것 같습니다 틀린 회원 재 :

void Vehicle::setVehicleType(string type){ 
    vehicleFuelType = type; 
} 

당신은 아마

void Vehicle::setVehicleType(string type){ 
    vehicleVehicleType = type; 
}