Fin*_*iny 0 c++ oop methods class
我在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;
}
Run Code Online (Sandbox Code Playgroud)
这在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();
}
Run Code Online (Sandbox Code Playgroud)
但我得到一些错误,如:
错误1错误C2628:'家具'后跟'空'是非法的(你忘了';'?)c:\ final\facultate\poo\laborator 1\furniture.cpp 3 1 POO_lab
错误2错误C2556:'Furniture Furniture :: setname(std :: string)':重载函数的区别仅在于'void Furniture :: setname(std :: string)'c:\ final\facultate\poo\laborator 1\furniture.cpp 3 1 POO_lab
错误3错误C2371:'Furniture :: setname':重新定义; 不同的基本类型c:\ final\facultate\poo\laborator 1\furniture.cpp 3 1 POO_lab
错误5错误C2264:'Furniture :: setname':函数定义或声明中的错误; 功能不叫c:\ final\facultate\poo\laborator 1\furniture.cpp 19 1 POO_lab
我究竟做错了什么?
您;在头文件中的类定义末尾缺少a .
// ...snipped...
protected:
static int NumberOfItems;
int Id;
}; // <-- here
Run Code Online (Sandbox Code Playgroud)
你在类定义的最后忘记了一个分号.
// ...
protected:
static int NumberOfItems;
int Id;
}; // <--
Run Code Online (Sandbox Code Playgroud)
关于C++我讨厌:)