입니다. Vehicle (vehicle.h 및 vehicle.cpp) 클래스가 있습니다. Visual Studio에서 헤더 파일 내부에 include를 넣지 않으면 오류가 발생합니다. 왜 이런거야? 이전 2 과제에서는 .cpp 파일에 포함을 넣었고 문제가 없었습니다. 여기에 내가 일을 할 것입니다하지만되지 않습니다 :C++ 포함 할 곳은
vehicle.h :
#ifndef VEHICLE_H
#define VEHICLE_H
using namespace std;
class Vehicle
{
public:
Vehicle();
Vehicle(string mfr, int cylinders, Person owner);
string getManufacturer();
int getNumOfCylinders();
Person getOwner();
private:
string manufacturer;
int numOfCylinders;
Person owner;
};
#endif
vehicle.cpp :
#include <iostream>
#include <string>
using namespace std;
#include "person.h"
#include "vehicle.h"
Vehicle::Vehicle()
{
//Initialize with defaults
}
Vehicle::Vehicle(string mfr, int cylinders, Person owner)
{
//Initialize with parameters
}
string Vehicle::getManufacturer()
{
return manufacturer;
}
int Vehicle::getNumOfCylinders()
{
return numOfCylinders;
}
Person Vehicle::getOwner()
{
return owner;
}
person.h :
#ifndef PERSON_H
#define PERSON_H
class Person {
public:
//default constructor
Person();
//constructor with two parameters
Person(string the_name, string no);
//accessor member functions
string get_name() const;
string getDriverLicenseNo() const;
//overloaded equal operator
bool operator==(const Person& p);
//overloaded extraction operator
friend istream& operator >> (istream& in, Person& p);
//overloaded insertion operator
friend ostream& operator <<(ostream& out, Person& p);
private:
string name;
string drivingLicenseNo;
};
#endif
사람 .cpp :
#include <iostream>
#include <string>
using namespace std;
#include "person.h"
//default constructor
Person::Person(){}
//constructor with two parameters
Person::Person(string the_name, string no){}
//accessor member functions
string Person::get_name() const
{
return name;
}
string Person::getDriverLicenseNo() const
{
return drivingLicenseNo;
}
//overloaded equal operator
bool Person::operator==(const Person& p)
{
return false;
}
//overloaded extraction operator
istream& operator >> (istream& in, Person& p)
{
return in;
}
//overloaded insertion operator
ostream& operator <<(ostream& out, Person& p)
{
return out;
}
,
truck.h :
#include "vehicle.h"
class Truck: public Vehicle
{
};
truck.cpp :
오류 C2061 : 구문 오류 : 예를 들어 오류
#include "person.h"
#include "vehicle.h"
//implement truck here
커플 식별자 '문자열'
에러 C2146 : 구문 오류 : ';'이 없습니다. '인 :: 이용시 (보이드)': 구문 오류 : 식별자 '문자열' 오류 C2535 식별자 'getManufacturer'
오류 C2061 전에 구문 오류 : 이미 정의 또는
오류 C2146 선언 멤버 함수 누락 '; ' 식별자 'get_name'앞에
오류 C4430 : 누락 된 유형 지정자 - int가 사용됩니다. 참고 : C++은 default-int를 지원하지 않습니다.
오류 C4430 : 누락 된 유형 지정자 - int가 사용됩니다. 참고 : C++에서 default-int를 지원하지 않습니다.
오류 C2146 : 구문 오류 : ';'이 (가) 없습니다. before 식별자 'getDriverLicenseNo'
무엇이 오류입니까? –
오류 메시지를 코드의 주석으로 넣어주십시오. 각 줄에서 어떤 줄을 말하고 있는지 알 수 있습니까? –
물론 문제는 아니지만이 시점에서 아무 것도 움직이지 않으면 총 41 개의 오류가 발생합니다. Visual Studio에 코드를 삽입하는 방법이 있습니까? 내가 주변 물품을 옮길 때 오류가 사라져서 그것이 정말 확실하다. 난 그저 제대로하고 컴파일러와 매번 싸우지 않는 방법을 이해하고 싶다. – Pete