基于我的Snack.cpp,Snack头文件,MiniVend头文件和miniVend.cpp文件,我试图将Snack私有成员-price移到MiniVend.cpp文件中以生成金额*价格以返回商品的总价值在我的机器上。我如何从另一个班级获得价格?

我的miniVend.cpp文件的一部分

   double miniVend::valueOfSnacks()
    {

        return //// I don't know how to get snacks price in here? I need to access snacks & getSnackPrice.

    }


miniVend标头

   #ifndef MINIVEND
    #define MINIVEND
    #include <string>
    #include "VendSlot.h"
    #include "Snack.h"
    using std::string;

    class miniVend
    {
    public:
        miniVend(VendSlot, VendSlot, VendSlot, VendSlot, double); //constructor
        int numEmptySlots();
        double valueOfSnacks();
        //void buySnack(int);
        double getMoney();
        ~miniVend(); //desructor


    private:
        VendSlot vendslot1; //declare all the vending slots.
        VendSlot vendslot2; //declare all the vending slots.
        VendSlot vendslot3; //declare all the vending slots.
        VendSlot vendslot4; //declare all the vending slots.
        double moneyInMachine; //money in the machine

    };
    #endif // !MINIVEND


小吃

    #include "Snack.h"
    #include <iostream>
    #include <string>

    using std::endl;
    using std::string;
    using std::cout;
    using std::cin;

    Snack::Snack() //default constructor
    {
        nameOfSnack = "bottled water";
        snackPrice = 1.75;
        numOfCalories = 0;
    }

    Snack::Snack(string name, double price, int cals)
    {
        nameOfSnack = name;
        snackPrice = price;
        numOfCalories = cals;

    }

    Snack::~Snack()
    {

    }

    string Snack::getNameOfSnack()
    {
        return nameOfSnack;
    }

    double Snack::getSnackPrice()
    {
        return snackPrice;
    }

    int Snack::getNumOfCalories()
    {
        return numOfCalories;
    }

Snack.h file
#ifndef SNACK_CPP
#define SNACK_CPP
#include <string>
using std::string;

class Snack
{
private:
    string nameOfSnack;
    double snackPrice;
    int numOfCalories;

public:
    Snack(); //default constructor
    Snack(string name, double price, int cals); //overload constructor
    ~Snack(); //destructor

              //Accessor functions

    string getNameOfSnack(); //returns name of snack
    double getSnackPrice(); //returns the price of the snack
    int getNumOfCalories(); //returns number of calories of snack
};



#endif // !SNACK_CPP

最佳答案

假设getSnackPrice()是公共的,并且Snack.h确实存在,则您应该能够调用

snackObject.getSnackPrice() * ammount

07-27 13:39