这个头错误是由什么引起的?

时间:2014-09-27 21:15:18

标签: c++

我正在使用头文件“sales.item”

我正在写一个小程序,它告诉我头文件,而不是我的程序,有一个错误。不知怎的,最后一行不对。错误是说字符串isbn是私有的。

#include <iostream>
#include "Sales_item.h"

int main()
{
Sales_item item1, item2;
std::cin >> item1 >> item2;
if (item1.isbn() == item2.isbn()) { // this checks if item1 and item2 are same book

2 个答案:

答案 0 :(得分:1)

Sales_item课程中,您忘记了isbn方法public,并将其保留为默认private知名度。

简而言之,它应该是这样的:

class Sales_item
{
  public:
    return_value isbn();
}

如果没有public:行,默认情况下它在C ++类中将为private

答案 1 :(得分:0)

我要走出困境,并猜测你的课程定义如下:

class Sales_item
{
    std::string isbn;
}

类和结构体的成员数据具有公共,私有和受保护的标签,默认情况下,类的成员标记为私有。您应将其更改为:

class Sales_item
{
    public:
        std::string isbn;
}

编辑:

当您将()(带或不带参数)添加到标识符时,您告诉编译器将其称为函数。取出(),你的代码应该可以工作。