У меня есть базовый класс продукт и дочерний класс multiBuyProductНаследование классов C++
class Product
{
public:
Product(std::string name, Amount price);
}
class MultiBuyProduct :public Product
{
public:
MultiBuyProduct(std::string aName, Amount price, int minDiscountedQuantity, int discountedPercent);
теперь, очевидно, некоторые из переменных конструктора одинаковы, но в моем главном классе я полагаю, если я хочу функциональность multiBuyProduct мне нужно назвать это? или я могу назвать продукт и передать значения для конструктора multiBuyProduct в параметр, ожидающий продукта?
Ниже показан способ, где это используется
void ShoppingCart::add(Product p, int quantity, bool end)
{
}
выше метод я хочу отправить параметры, но я не знаю, если мне нужно изменить код для этого метода, чтобы принять в MultiBuyProduct или. .. ??
EDIT: извините забыл упомянуть «Сумму» это класс, который принимает два целых числа
Amount amount(0,1);
спасибо, что это похоже на то, что мне нужно, iv сделал это, но в моем методе добавить, как я могу использовать p? im put Product product = p; затем используя p.doSomething(); например, но он просто говорит, что я не могу сделать продукт = p; не найден бинарный оператор? – AngryDuck
oh ok должно быть Product product = * p; теперь ошибок нет, однако использование методов из этого просто не возвращает ничего вообще. product.getPrice(); следует переназначить цену этого продукта, который был передан в основном, а вместо этого просто ничего не делает – AngryDuck
Использование должно использовать 'p' следующим образом:' p-> doSomething() '. – deepmax