c++ - C++ 中的类问题

标签 c++ oop class methods

我在 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 ​​error C2628: 'Furniture' 后跟 'void' 是非法的(你忘记了 ';' 吗?)c:\final\facultate\poo\laborator 1\furniture.cpp 3 1 POO_lab

错误 2 error C2556: 'Furniture Furniture::setname(std::string)' :重载函数与 'void Furniture::setname(std::string)' c:\final\facultate\的返回类型仅不同poo\laborator 1\furniture.cpp 3 1 POO_lab

错误 3 error C2371: 'Furniture::setname' : redefinition;不同的基本类型 c:\final\facultate\poo\laborator 1\furniture.cpp 3 1 POO_lab

错误 5 error C2264: 'Furniture::setname' : 函数定义或声明错误;函数未调用 c:\final\facultate\poo\laborator 1\furniture.cpp 19 1 POO_lab

我做错了什么?

最佳答案

您在头文件中类定义的末尾缺少 ;

// ...snipped...

protected:
    static int NumberOfItems;
    int Id;

}; // <-- here

关于c++ - C++ 中的类问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9762757/

相关文章:

c++ - protected 继承

c++ - 比率数学不适用于 std::chrono::duration

java - 使用生成类通过 2 个映射器通过 MapStruct 传输对象

java - 创建大量类之一的优雅方式

class - SugarCRM:在没有 SOAP 的情况下创建带附件的注释?

delphi - 如何循环类中的所有属性

c++ - OpenCV 640x480 标准尺寸?

c++ - 双指针 vs 通过引用指针传递

php - 我的 PHP 代码是面向对象的吗?

c++ - 在 C++ 中处理类的动态属性