Как использовать информацию одного класса в другом классе C ++ - PullRequest
0 голосов
/ 04 мая 2020

Я новичок в C ++ и просто хотел узнать , возможно ли поставить для меня вычисление в последнем "для" l oop, которое использует имя, количество и вес из класс «Продукт» для расчета суммы и цены в другом классе, который будет называться «Цена». Извините за странный вопрос, я просто запутался в том, как использовать классы друг с другом и если это возможно ...

#include <iostream>
#include <string>
using namespace std;
class Product
{
public:
    string name;
    int amount;
    float weight;
    void get()
    {
        cout << "Give product name,amount and weight : " << endl;
        cin >> name >> amount >> weight;
    }
    void print()
    {
        cout << name << " - "<< amount<<" , " <<weight <<" kg"<< endl;
        cout << "--------" << endl;
    };
};
int main()
{
    Product p[100];
    int n;
    cout << "Give the number of products you want to get : " << endl;
    cin >> n;
    for (int i = 0; i < n; i++)
    {
        p[i].get();

    }
    cout << "Product display: " << endl;
    for (int i = 0; i < n; i++)
    {
        p[i].print();
    }
    float total = 0;
    for (int i = 0; i < n; i++)
    {
        cout << "\nPrice of " << p[i].name << " " << p[i].amount * p[i].weight << " $" << endl;
        total = p[i].amount * p[i].weight + total;
    }

    cout << "\nTotal: " << total << "$" << endl;

    cin.get(); cin.get();
    return 0;
}

1 Ответ

0 голосов
/ 04 мая 2020

Хорошо иметь такие вопросы, когда вы начинающий. Я бы хотел упомянуть несколько моментов.

  1. В вашем примере нет необходимости создавать отдельный класс только для расчета цены. Расчет цены - это поток / метод / набор инструкций. Таким образом, логика c расчета цены должна быть методом и тоже в том же классе, т.е. Product.
  2. Во-вторых, здесь общая цена для всех продуктов является общей для класса, т.е. не отличается для разных объектов класса. Итак, здесь вам нужно создать переменную static в классе, которая будет содержать общую стоимость всех продуктов.
  3. Вы можете просто создать функцию static в классе Product и передать массив product в качестве аргумента и l oop через продукты, чтобы вычислить общую цену и сохранить ее в переменной stati c.

Надеюсь, это рассеет ваши сомнения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...