Как я могу вызвать функции базового класса из main с такой же подписью? - PullRequest
0 голосов
/ 29 декабря 2018

В этом вопросе я должен создать 2 базовых класса A и B.Каждый из которых содержит функцию отображения.Было взято 2 ввода int, первый становится квадратным, и мы находим корень второго.Как мне кодировать это в C ++?

Вопрос:

  1. Создайте базовый класс A, и он содержит функцию-член display() для вычисления квадрата числаи отобразите его.
  2. Создайте базовый класс B, и он содержит функцию-член display() для вычисления квадратного корня числа и его отображения.
  3. Создайте класс с именем C получено из A и B.Объявите объект для класса C и вызовите функции display класса A и B из главной функции, чтобы отобразить результат.

1 Ответ

0 голосов
/ 29 декабря 2018

Вы можете сделать это, используя оператор разрешения области действия , например:

class A {
public:
    void display() { std::cout << "A display" << std::endl; }
};
class B {
public:
    void display() { std::cout << "B display" << std::endl; }
};
class C : public A, public B
{
public :
    C() = default;
};

int main()
{
    C c;
    c.B::display();
    c.A::display();

    return 0;
}

Таким образом, вы вручную указываете, какой базовый класс display вы хотите вызвать.

...