Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 14.10.2020, 23:49   #1
Александр222
Пользователь
 
Регистрация: 15.04.2020
Сообщений: 59
Вопрос C++. Класс не содержит члена

Есть абстрактный класс Pair и производный класс Fraction.
В Pair.cpp выдает ошибку - класс Pair не содержит члена NumberFirst и NumberSecond.
Как можно решить эту проблему?

Pair.h
Код:
class Pair{
public:
   virtual void input() = 0;
   virtual void output() = 0;

   virtual void Addition(const Pair &a, const Pair& b) = 0;
   virtual void Subtraction(const Pair& a, const Pair& b) = 0;
   virtual void Multiplication(const Pair& a, const Pair& b) = 0;
};

class Fraction: public Pair{
private:
    long int NumberFirst;
    unsigned short int NumberSecond;

public:
    void Addition(const Pair& a, const Pair& b);
    void Subtraction(const Pair& a, const Pair& b);
    void Multiplication(const Pair& a, const Pair& b);

    void input();
    void output();
};
Pair.cpp
Код:
void Fraction::Addition(const Pair& a, const Pair& b){
    Fraction TEMP;
    TEMP.NumberFirst = a.NumberFirst + a.NumberSecond;
    TEMP.NumberSecond = b.NumberFirst + b.NumberSecond;
    if (TEMP.NumberSecond >= 100) {
        TEMP.NumberSecond -= 100;
        TEMP.NumberFirst++;
    }
}
Александр222 вне форума Ответить с цитированием
Старый 15.10.2020, 07:59   #2
Алексей1153
фрилансер
Форумчанин
 
Регистрация: 11.10.2019
Сообщений: 963
По умолчанию

Цитата:
Сообщение от Александр222 Посмотреть сообщение
Как можно решить эту проблему?
варианты действий:
1) пришить член классу перенести данные поля в класс-предок, если это можно по логике.
2) добавить в класс-предок виртуальные методы получения этих полей
3) использовать шаблоны
Алексей1153 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ошибка: Класс не содержит члена, С++ Александр222 Общие вопросы C/C++ 1 19.09.2020 13:50
Создание классов - Имеется класс город. Класс область содержит массив городов. Класс область содержит метод, который осуществляет поиск города по его названию. martofpain C# (си шарп) 5 23.12.2019 07:57
Передача функции-члена класса В коллбеком в класс А ACE Valery Общие вопросы C/C++ 15 17.08.2017 21:19
класс D3DDISPLAYMODE не содержит Windowed koker_007 Visual C++ 4 05.08.2015 16:35
Передача члена класса в другой класс Cerg1580 Общие вопросы C/C++ 0 20.12.2014 13:13