, с пи, преобразованным в int.

ного растерялся по поводу этих двух терминов и был бы рад прояснить некоторые сомнения.

Насколько я понимаюfunction overloading означает наличие нескольких методов в одном классе с одним и тем же именем, но с разным количеством аргументов, разными типами аргументов или последовательностью аргументов независимо от типа возвращаемого значения, которое не влияет на искаженное имя функций.

Включает ли приведенное выше определение также «.... в том же классе или в связанных классах (связанных через наследование) .....»

А такжеFunction Overriding связан с виртуальными функциями, той же сигнатурой метода (объявленной виртуальной в базовом классе) и переопределенной для реализации в подклассах.

Мне было интересно в сценарии, следующий код:

#include <iostream>

class A
{
    public:
    void doSomething(int i, int j)
    {
        cout<<"\nInside A::doSomething\n";
    }
};

class B: public A
{
    public:
    void doSomething(int i, int j)
    {
        cout<<"\nInside B::doSomething\n";

    }
};

int main()
{
    B obj;
    obj.doSomething(1,2);
    return 0;

} 

В приведенном выше сценарии, что можно сказать:
Метод в производном классеoverrides метод в базовом классе ИЛИ
Метод в производном классеoverloads метод в базовом классе

Применима ли перегрузка к областям классов, и переопределение не обязательно относится к виртуальным функциям?

Я думаю, что это должно бытьoverrides, но просто нужно пояснение, потому что я случайно вспомнил термин переопределение, используемый специально с виртуальными функциями.

Ответы на вопрос(4)

Ваш ответ на вопрос