Результаты поиска по запросу "overloading"

0 ответов

Вы можете сделать что-то вроде того, что вы можете сделать в Java, например:

могут быть допустимые случаи, когда такие перегрузки методов могут стать неоднозначными, почему компилятор запрещает код, который не является неоднозначным ни во время компиляции, ни во время выполнения? Пример: // This fails: def foo(a: ...

10 ответов

К сожалению, в PHP нет перегрузки, как в C #. Но у меня есть маленькая хитрость. Я объявляю аргументы с нулевыми значениями по умолчанию и проверяю их в функции. Таким образом, моя функция может делать разные вещи в зависимости от аргументов. Ниже приведен простой пример:

я из фона C ++;) Как я могу перегрузить функции PHP? Одно определение функции, если есть аргументы, и другое, если нет аргументов? Возможно ли это в PHP? Или я должен использовать if else, чтобы проверить, есть ли какие-либо параметры, ...

5 ответов

@Lukas Eder Я согласен, что пример с Animal был плохим. Я просто не мог придумать лучшего примера. Однако существует реальная опасность того, что со временем требования изменятся сверх того, что вы считали возможным. К сожалению, это случилось со мной несколько раз :(

я создаю иерархии сложных типов (несколько уровней, несколько типов на уровень), мне нравится использоватьfinal ключевое слово на методах, реализующих некоторое объявление интерфейса. Пример: interface Garble { int zork(); } interface Gnarf ...

ТОП публикаций

3 ответа

Да, вы правы, но так как 1 и 2 числа, это то, что должно произойти. Если бы автор хотел добавить два экземпляра класса, то примером был бы не + 1, а a + b (a и b являются экземплярами A) ...

аюсь добавить объект класса с номером, но я не совсем понимаю, как добавить объект класса с двумя числами. Например, это моя гипотетическаяДобавлятьметод класса: class A: def __add__(self, b): return somethingЯ знаю, как добавить это до ...

2 ответа

Обратите внимание, что вы не можете перегружать методы, изменяя тип возвращаемого значения.

то я работал над этой проблемой на CodeHS, потом я застрял так долго, поэтому решил спросить здесь. Упражнение состоит в том, чтобы перегрузить метод product, чтобы можно было умножить вместе другие типы значений: две парыInt и двойнойдвойной и ...

4 ответа

 должен полностью описать, что вы можете с ним сделать. Если вы можете вызывать его только для определенных типов, это должно отражать сигнатура типа.

тоящее время я пытаюсь обернуть голову вокруг типов классов и экземпляров, и пока не совсем понимаю их смысл. У меня есть два вопроса по этому вопросу: 1) Почему необходимо иметь класс типа в сигнатуре функции, когда функция использует некоторую ...

4 ответа

 также.

public class A { public void f1(String str) { System.out.println("A.f1(String)"); this.f1(1, str); } public void f1(int i, String str) { System.out.println("A.f1(int, String)"); } } public class B extends A { @Override public void f1(String str) ...

4 ответа

Примеры в стандарте

мер, вместо void shared_ptr::reset() noexcept; template <typename Y> void shared_ptr::reset(Y* ptr);можно подумать template <typename Y = T> void shared_ptr::reset(Y* ptr = nullptr);Я думаю, что разница в производительности здесь незначительна, ...

2 ответа

 но, как обычно, я нахожу код GCC очень сложным для подражания.

смотрел некоторые способы сделать это в C, но я нашел только для C99. Но я столкнулся с решением ниже, взятым изБлокировка меньше [https://locklessinc.com/articles/overloading/]. Дело в том, что я не совсем понимаю, как это работает, и хотел бы ...

1 ответ

 то, что вы описали, это шаблоны в C ++

етил это на днях, скажем, у вас есть два перегруженных метода: public void Print<T>(IEnumerable<T> items) { Console.WriteLine("IEnumerable T"); } public void Print<T>(T item) { Console.WriteLine("Single T"); }Этот код: public void TestMethod() ...