У меня есть это в furniture.h:
#include <iostream>
#include <string>
using namespace std;
class Furniture {
public:
Furniture();
virtual ~Furniture();
void setname(string name);
void setprice(double price);
int getprice();
string getname();
private:
string name;
int price;
protected:
static int NumberOfItems;
int Id;
}
и это в furniture.cpp
#include "furniture.h"
void Furniture::setname(string name) {
this->name = name;
}
string Furniture::getname()
{
return this->name;
}
void Furniture::setprice(double price) {
this->price = price;
}
int Furniture::getprice() {
return this->price;
}
int main() {
Furniture *model = new Furniture();
model->setname("FinalDestiny");
model->setprice(149.99);
cout<<"Model name: "<<model->getname()<<" - price = "<<model->getprice();
}
Но я получаю некоторые ошибки, такие как:
Ошибка 1ошибка C2628: «Мебель», за которой следует «void», недопустима (вы забыли «;»?) c: \ final \ facultate \ poo \ laborator 1 \ furniture.cpp 3 1 POO_lab
Ошибка 2C2556: 'Furniture Furniture :: setname (std :: string)': перегруженная функция отличается только типом возврата от 'void Furniture :: setname (std :: string)' c: \ final \ facultate \ poo \ laborator 1 \ furniture.cpp 3 1 POO_lab
Ошибка 3, ошибка C2371: «Мебель :: имя_установки»: переопределение;различные базовые типы c: \ final \ facultate \ poo \ laborator 1 \ furniture.cpp 3 1 POO_lab
Ошибка 5, ошибка C2264: «Мебель :: setname»: ошибка в определении или объявлении функции;функция не называется c: \ final \ facultate \ poo \ laborator 1 \ furniture.cpp 19 1 POO_lab
Что я делаю не так?