C++ 我似乎无法产生正确的输出

C++ 我似乎无法产生正确的输出,c++,C++,因此,强制输出应该如下所示: Product Name: Orange Reference Number: 1123452 Price per unit/pound: 0.99 Stock: 34 int main() { Product a("Orange", 23456, 0.99, 36); a.sold(4); a.addToStock(2); a.info(); } 但我有一个代码,我做了,我有麻烦,我不能找出什么是错误的: #include

因此,强制输出应该如下所示:

Product Name: Orange
Reference Number: 1123452
Price per unit/pound: 0.99
Stock: 34
int main()
{
    Product a("Orange", 23456, 0.99, 36);
    a.sold(4);
    a.addToStock(2);
    a.info();
}
但我有一个代码,我做了,我有麻烦,我不能找出什么是错误的:

    #include <string>
    #include <iostream>

    using namespace std;


    class Product {
    private:
    string prodName;
    double price;
    unsigned refNum, items_remaining;


    public:
        Product (){
            refNum=items_remaining=0; price=0; prodName="";
    }
        Product ( string prod, unsigned ref, double pri, unsigned stk){
            refNum = ref;
            items_remaining = stk;
            prodName = prod;
            price = pri;
        }

        //Add Accessors
        string get_name(string name){
        cin>>name;
        return prodName;
        }
        double get_price (double cost){
        cin>>cost;
        return price;

        }

        unsigned stock (unsigned items){
        cin>>items;
        return items_remaining;
        }
        unsigned sold (unsigned items_remaining, unsigned num_sold){
        items_remaining -= num_sold;
        return items_remaining;
        }

        unsigned addToStock (unsigned items_remaining, unsigned       stock_add){
        stock_add +=items_remaining;
        return items_remaining;

       }
       void info (){
       cout<<"Product Name: "<<prodName<<endl;
       cout<<"Reference Num: "<<refNum<<endl;
       cout<<"Price per unit/pound: "<<price<<endl;
       cout<<"Stock: "<<items_remaining<<endl;


      }




    };
您需要编写一个main()函数,如下所示:

Product Name: Orange
Reference Number: 1123452
Price per unit/pound: 0.99
Stock: 34
int main()
{
    Product a("Orange", 23456, 0.99, 36);
    a.sold(4);
    a.addToStock(2);
    a.info();
}
您需要在产品类中进行的更改:

从访问器中删除所有“cin”

改变

unsigned sold(unsigned items_remaining, unsigned num_sold)
unsigned addToStock(unsigned items_remaining, unsigned       stock_add)
stock_add +=items_remaining;

改变

unsigned sold(unsigned items_remaining, unsigned num_sold)
unsigned addToStock(unsigned items_remaining, unsigned       stock_add)
stock_add +=items_remaining;

改变

unsigned sold(unsigned items_remaining, unsigned num_sold)
unsigned addToStock(unsigned items_remaining, unsigned       stock_add)
stock_add +=items_remaining;

您不必将剩余的项作为参数传递给方法。类中的数据可由同一类的方法直接访问。
请参阅:

实际问题是什么?您没有从类Product中操作refNum,它是包含Reference Num的值,唯一一行的值与您希望看到的值不同。这意味着您将值错误地传递给了产品。因此,错误不在本课程中。您应该以简单的形式发布代码,请参阅:-谢谢。在读这篇文章之前,我已经修改了大部分代码,但是“产品a”部分是我搞砸的。我还感谢您指出我必须重新排序。另外,我不知道如何在cpp文件中正确调用类。