Результаты поиска по запросу "overloading"
Вы можете сделать что-то вроде того, что вы можете сделать в Java, например:
могут быть допустимые случаи, когда такие перегрузки методов могут стать неоднозначными, почему компилятор запрещает код, который не является неоднозначным ни во время компиляции, ни во время выполнения? Пример: // This fails: def foo(a: ...
К сожалению, в PHP нет перегрузки, как в C #. Но у меня есть маленькая хитрость. Я объявляю аргументы с нулевыми значениями по умолчанию и проверяю их в функции. Таким образом, моя функция может делать разные вещи в зависимости от аргументов. Ниже приведен простой пример:
я из фона C ++;) Как я могу перегрузить функции PHP? Одно определение функции, если есть аргументы, и другое, если нет аргументов? Возможно ли это в PHP? Или я должен использовать if else, чтобы проверить, есть ли какие-либо параметры, ...
@Lukas Eder Я согласен, что пример с Animal был плохим. Я просто не мог придумать лучшего примера. Однако существует реальная опасность того, что со временем требования изменятся сверх того, что вы считали возможным. К сожалению, это случилось со мной несколько раз :(
я создаю иерархии сложных типов (несколько уровней, несколько типов на уровень), мне нравится использоватьfinal ключевое слово на методах, реализующих некоторое объявление интерфейса. Пример: interface Garble { int zork(); } interface Gnarf ...
Да, вы правы, но так как 1 и 2 числа, это то, что должно произойти. Если бы автор хотел добавить два экземпляра класса, то примером был бы не + 1, а a + b (a и b являются экземплярами A) ...
аюсь добавить объект класса с номером, но я не совсем понимаю, как добавить объект класса с двумя числами. Например, это моя гипотетическаяДобавлятьметод класса: class A: def __add__(self, b): return somethingЯ знаю, как добавить это до ...
Обратите внимание, что вы не можете перегружать методы, изменяя тип возвращаемого значения.
то я работал над этой проблемой на CodeHS, потом я застрял так долго, поэтому решил спросить здесь. Упражнение состоит в том, чтобы перегрузить метод product, чтобы можно было умножить вместе другие типы значений: две парыInt и двойнойдвойной и ...
должен полностью описать, что вы можете с ним сделать. Если вы можете вызывать его только для определенных типов, это должно отражать сигнатура типа.
тоящее время я пытаюсь обернуть голову вокруг типов классов и экземпляров, и пока не совсем понимаю их смысл. У меня есть два вопроса по этому вопросу: 1) Почему необходимо иметь класс типа в сигнатуре функции, когда функция использует некоторую ...
также.
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) ...
Примеры в стандарте
мер, вместо 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);Я думаю, что разница в производительности здесь незначительна, ...
но, как обычно, я нахожу код GCC очень сложным для подражания.
смотрел некоторые способы сделать это в C, но я нашел только для C99. Но я столкнулся с решением ниже, взятым изБлокировка меньше [https://locklessinc.com/articles/overloading/]. Дело в том, что я не совсем понимаю, как это работает, и хотел бы ...
то, что вы описали, это шаблоны в 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() ...