私はクラスVehicle(vehicle.hとvehicle.cpp)を持っています。ヘッダーファイルのインクルードを入れないと、Visual Studioでエラーが表示されます。どうしてこれなの?前の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:例えばエラーの
#include "person.h"
#include "vehicle.h"
//implement truck here
カップル:
エラーC2061:構文エラー:識別子 '列'
エラーC2146:構文エラー: ';'がありません。識別子の前に「getManufacturer」
エラーC2061:構文エラー:識別子「string」は エラーC2535:「人::人(無効)」:構文エラー:メンバ関数がすでに
エラーC2146定義または宣言した「行方不明に。 '識別子 'get_name'の前に
エラーC4430:欠落型指定子 - intが仮定されています。注:C++はdefault-intをサポートしていません
エラーC4430:型指定子がない - 想定されています。注:C++はdefault-intをサポートしていません
エラーC2146:構文エラー: ';'がありません。 before識別子 'getDriverLicenseNo'
エラーは何ですか? –
エラーメッセージをコード内のコメントとして入力して、それぞれの行がどのようなものかを知ることができますか? –
確かに、それは私が推測する問題ではありませんが、この時点では何も動かさずに、合計41のエラーがあります。ビジュアルスタジオにコードを挿入する方法はありますか?インクルードを動かすとエラーが消えてしまいます。私はちょうどそれを正しく行う方法を理解し、毎回コンパイラと戦わないようにしたい。 – Pete