Вопросы с тегом «overloading»

100
__lt__ вместо __cmp__

В Python 2.x есть два способа перегрузки операторов сравнения __cmp__или «многофункциональных операторов сравнения», таких как __lt__. Говорят, что предпочтительнее использовать богатые перегрузки для сравнения, но почему это так? Каждый из расширенных операторов сравнения проще реализовать, но вы...

98
Как выбирается перегруженный метод, когда параметром является буквальное нулевое значение?

Я столкнулся с этим вопросом в викторине, public class MoneyCalc { public void method(Object o) { System.out.println("Object Verion"); } public void method(String s) { System.out.println("String Version"); } public static void main(String args[]) { MoneyCalc question = new MoneyCalc();...

95
Javascript: перегрузка оператора

Я работаю с JavaScript уже несколько дней и дошел до того момента, когда хочу перегрузить операторы для моих определенных объектов. После того, как вы искали это в Google, кажется, что вы не можете официально сделать это, но есть несколько людей, которые заявляют о каком-то длинном способе...

94
Следует ли объявлять методы с использованием перегрузок или необязательных параметров в C # 4.0?

Я смотрел рассказ Андерса о C # 4.0 и предварительный просмотр C # 5.0 , и это заставило меня задуматься о том, когда в C # будут доступны дополнительные параметры, каким будет рекомендуемый способ объявления методов, для которых не нужно указывать все параметры? Например, что-то вроде этого...

94
Устранение неоднозначной перегрузки указателя функции и std :: function для лямбда с помощью +

В следующем коде первый вызов fooнеоднозначен и поэтому не может быть скомпилирован. Второй, с добавленным +перед лямбдой, разрешает перегрузку указателя функции. #include <functional> void foo(std::function<void()> f) { f(); } void foo(void (*f)()) { f(); } int main () { foo( [](){}...

93
Оператор [] [] перегрузка

Можно ли []дважды перегрузить оператора? Чтобы разрешить, что-то вроде этого: function[3][3](как в двумерном массиве). Если возможно, я хотел бы увидеть пример кода....

92
Можно ли переопределить не виртуальный метод?

Есть ли способ переопределить не виртуальный метод? или что-то, что дает аналогичные результаты (кроме создания нового метода для вызова желаемого метода)? Я хотел бы переопределить метод Microsoft.Xna.Framework.Graphics.GraphicsDeviceс учетом модульного тестирования....

91
Почему самое отрицательное значение int вызывает ошибку о неоднозначных перегрузках функций?

Я изучаю перегрузку функций в C ++ и наткнулся на это: void display(int a) { cout << "int" << endl; } void display(unsigned a) { cout << "unsigned" << endl; } int main() { int i = -2147483648; cout << i << endl; //will display -2147483648 display(-2147483648); }...

88
Что произойдет, если я не передам параметр в функции Javascript?

Я новичок в мире Javascript и пытаюсь написать очень простые функции, случайно наткнулся на приведенный ниже пример и не уверен, почему он работает, когда я не передаю параметр, когда этого требует функция. Пример функции function myfunction(x) { alert("This is a sample alert"); } Теперь, если я...

88
как «повторно импортировать» модуль в Python, а затем изменить код после импорта

у меня есть foo.py def foo(): print "test" В IPython я использую: In [6]: import foo In [7]: foo.foo() test Затем я изменил на foo(): def foo(): print "test changed" В IPython результат вызова по-прежнему test: In [10]: import foo In [11]: foo.foo() test Тогда использую: In [15]: del foo In [16]:...

87
Как вызвать свойство базового класса, если это свойство перезаписывается в производном классе?

Я меняю некоторые свои классы с широкого использования геттеров и сеттеров на более питоническое использование свойств. Но теперь я застрял, потому что некоторые из моих предыдущих методов получения или установки вызывали соответствующий метод базового класса, а затем выполняли что-то еще. Но как...

86
Как закодировать оператор по модулю (%) в C / C ++ / Obj-C, который обрабатывает отрицательные числа

Одна из моих любимых ненавистников к языкам, производным от C (как математик), заключается в том, что (-1) % 8 // comes out as -1, and not 7 fmodf(-1,8) // fails similarly Какое лучшее решение? C ++ допускает возможность использования шаблонов и перегрузки операторов, но и то, и другое для меня...

80
C ++ - предупреждение о перегрузке виртуальной функции от clang?

clang выдает предупреждение при компиляции следующего кода: struct Base { virtual void * get(char* e); // virtual void * get(char* e, int index); }; struct Derived: public Base { virtual void * get(char* e, int index); }; Предупреждение: warning: 'Derived::get' hides overloaded virtual function...

34
Перегрузка функции с помощью шаблонов

Я пытаюсь определить функцию, используя шаблоны, и я хочу, чтобы typename было либо int, либо anEnum (конкретное перечисление, которое я определил). Я пробовал следующее, но мне не удалось: template <int | anEnum T> // or <int T, anEnum T> or <int, anEnum T> bool isFunction(const...

22
Инициализация переменной неизвестного типа через перегруженные конструкторы в C ++

Исходя из опыта работы с Python, я немного боролся с работой с типами в C ++. Я пытаюсь инициализировать переменную класса через один из нескольких перегруженных конструкторов, которые принимают разные типы в качестве параметров. Я прочитал, что использование autoключевого слова может быть...

14
Перегрузка лямбда-функции

Как перегрузить простую локальную лямбда-функцию? SSE оригинальной задачи: #include <iostream> #include <map> void read() { static std::string line; std::getline(std::cin, line); auto translate = [](int idx) { constexpr static int table[8]{ 7,6,5,4,3,2,1,0 }; return table[idx]; }; auto...

9
unique_ptr <0 ИЛИ что делает меньше, чем оператор?

Я имею дело с кодом, который был написан не мной. У меня есть это утверждение: // p is type of std::unique_ptr<uint8_t[]> if (p < 0) { /* throw an exception */ } Так что же p < 0значит в этом контексте? На странице документации , я считаю, что мой случай 16) y < nullptr, где0...