В проекте есть 3 файла: объявление класса в Auto.h, реализация его методов в Auto.cpp и основной код программы в AutoCenter.cpp.
Вот файл класса Auto.h:
#include <iostream>
#include "stdafx.h"
#include "windows.h"
#include <string>
using namespace std;
class Auto {
private:
int year;
int ownersNumber;
string color;
string brand;
string model;
public:
void setYear(int y);
void setOwnersNumber(int n);
void setColor(string c);
void setBrand(string b);
void setModel(string m);
int getYear();
int getOwnersNumber();
string getColor();
string getBrand();
string getModel();
void displayAll();
};
Вот файл его реализации Auto.cpp:
#include "stdafx.h"
#include "windows.h"
#include "Auto.h"
#include <string>
#include <iostream>
void Auto::setYear(int y) {
year = y;
}
void Auto::setBrand(string b) {
brand = b;
}
void Auto::setModel(string m) {
model = m;
}
void Auto::setColor(string c) {
color = c;
}
void Auto::setOwnersNumber(int n) {
ownersNumber = n;
}
int Auto::getYear() {
return year;
};
int Auto::getOwnersNumber() {
return ownersNumber;
};
string Auto::getColor() {
return color;
};
string Auto::getBrand() {
return brand;
};
string Auto::getModel() {
return model;
};
Вот основной код:
#include <iostream>
#include "stdafx.h"
#include "windows.h"
#include "Auto.h"
#include "Auto.cpp"
#include <string>
using namespace std;
int main()
{
Auto auto1;
auto1.setBrand("Mercedes");
auto1.setModel("C200");
auto1.setColor("red");
auto1.setYear(2005);
auto1.setOwnersNumber(2);
system("pause");
return 0;
}
На этапе компиляции вылетает 27 ошибок, основная причина которых - "Auto: переопределение типа class". Где тут переопределение, я не могу понять? Подскажите, в чём может быть ошибка? Или это VS гребет?