Описание тега constructor-overloading

Constructor overloading is used to increase the flexibility of a class by having alternative constructors for a single class. Having more than one way of initializing objects can be achieved using overloading constructors.
6 ответов

Не создавайте экземпляр superclass в конструкторе подкласса, но полностью легальный

Я прочитал в руководстве scjp как следующее Фактически, вы не можете создать новый объект, не вызвав не только конструктор фактического типа класса объекта, но и конструктор каждого из его суперклассов! Например public class Person{ } public class E…
05 июл '13 в 09:58
1 ответ

Отсутствует конструктор сокета

Эта программа: open System.Net.Sockets let s = new Socket(SocketType.Stream, ProtocolType.Tcp) Сбой с этим сообщением об ошибке на моно: ошибка FS0505: член или конструктор объекта 'Socket' не принимает 2 аргументов. Обнаружена перегрузка с 1 аргуме…
1 ответ

Разрешение перегрузки конструктора C++11 и initialiser_lists: clang++ и g ++ не согласны

У меня есть небольшой фрагмент кода C++11, который g++ (4.7 или 4.8) отказывается компилировать, утверждая, что вызов конструктора для B2 b2a(x, {P(y)})) неоднозначен. Clang++ доволен этим кодом, но отказывается компилировать B2 b2b(x, {{P(y)}}), ко…
3 ответа

Конструктор перегрузки с другим типом параметра

Я знаю, что мы можем перегрузить конструктор класса в Scala следующим образом: class Foo(x: Int, z: String) { def this(z: String) = this(0, z); } Но как я могу перегрузить класс, который имеет два совершенно разных типа параметров, как показано ниже…
15 апр '13 в 12:32
1 ответ

Как получить перегруженные конструкторы класса через WCF?

Как я могу передать перегруженные конструкторы на моих классах клиенту / потребителю WCF? По сути, WCF считает, что для моего класса B есть только значение по умолчанию, без аргумента / пустого конструктора. Как я могу разрешить клиенту вызывать пер…
1 ответ

Перегрузка конструкторов и конструкторов

Кто-нибудь может объяснить? Когда мы перегружаем конструктор различными параметрами, один из которых имеет объект типа данных, а другой - строку типа данных, и когда мы создаем объект этого класса с предоставлением входного параметра в качестве нуле…
1 ответ

Не может появляться в постоянном выражении

В следующей программе на C++: class matrix { public: int n; double **x; matrix(int n) : n(n) { x=new double[n][n]; for (int i=0;i<n;i++) { for(int j=0;j<n;j++) { x[i][j]=0; } } } ... Я получаю следующую ошибку: "n не может появляться в констан…
1 ответ

Как Java различает почти идентичные конструкторы во время "явного вызова конструктора"?

Я читал Учебник по Java и у меня был вопрос о явном вызове конструктора. Прежде всего, вот поля и конструкторы, как написано в руководстве, плюс еще один конструктор, который я добавил: private int x, y; private int width, height; public Rectangle()…
08 мар '18 в 06:42
4 ответа

Перегрузка конструктора std::string

Могу ли я перегрузить конструктор std::string? Я хочу создать конструктор, который принимает std::wstring и возвращает std::string. это возможно и как? Благодарю.
13 фев '12 в 14:21
2 ответа

Перегрузка конструктора в Singleton не работает

Я учусь использовать шаблон проектирования Singleton. Я написал простой код, включающий перегрузку конструктора и функцию завершения для удаления указателя. Проблема в том, что перегрузка конструктора не работает, она не принимает 2 параметра. Я не …
2 ответа

Перегрузка оператора "*" для класса, возвращающего переменную класса

У меня есть два файла cpp и один файл hpp. Main.cpp, Ab.cpp и Ab.hpp. В этих файлах я создал класс Ab с конструктором по умолчанию и конструктором, который принимает строку. Внутри класса я хочу переопределить оператор *, чтобы установить заданное з…
3 ответа

Функции с разными подписями, но с одинаковым телом

Рассмотрим класс import javax.swing.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; public class ShortcutButton extends JButton { public ShortcutButton(String text, KeyStroke[] keyStrokes, ActionListener actionListener) {…
13 дек '18 в 12:10
2 ответа

Относительно результатов Java-класса

Я разрабатывал следующий класс, и когда я выполняю следующий класс, я получаю следующий результат.. public class Confusing { private Confusing(Object o) { System.out.println("Object"); } private Confusing(double[] dArray) { System.out.println("doubl…
21 фев '13 в 09:24
3 ответа

Перегрузка конструкторов C#

Как я могу использовать конструкторы в C#, как это: public Point2D(double x, double y) { // ... Contracts ... X = x; Y = y; } public Point2D(Point2D point) { if (point == null) ArgumentNullException("point"); Contract.EndContractsBlock(); this(point…
05 апр '11 в 17:12
2 ответа

Как перегрузить конструкторы в kotlin отличается от типа возврата лямбда

У меня есть два конструктора, которые отличаются только по типу возвращаемого лямбда-выражения. Есть ли вариант как их перегрузить? Я пытался использовать аннотацию JvmOverloads, но это не сработало. constructor(db : Database, handler: ( transaction…
21 сен '16 в 11:35
1 ответ

Строки времени компиляции: приоритет перегрузки конструктора между `const char *` / `const char[]`

Я пытаюсь сделать класс строки времени компиляции. Я взял несколько подсказок из этого поста. К сожалению, я застрял на приоритете перегрузки конструктора: const char[] конструктор игнорируется в пользу const char* конструктор. Любые советы будут оц…
1 ответ

В Java какой конструктор будет выбран при нулевом параметре

Допустим, у меня есть этот код: public class A{ public A(String b){} public A(Cursor c){} public A(SomeClass n){} } Теперь я хочу создать экземпляр A но я не знаю, какой конструктор выберет, когда единственный параметр null: A someA = new A(null); К…
1 ответ

"Перегрузка" конструкторов с помощью SFINAE

Почему следующая попытка перегрузки конструктора Foo::Foo потерпеть поражение? Кроме того, я был бы признателен за альтернативы / обходные пути #include <vector> #include <type_traits> namespace xyz { struct MemoryManager{}; template<…
8 ответов

Что означает метод this()?

Я наткнулся на этот блок кода, и есть одна строка, в которой я не перестаю понимать смысл или то, что он делает. public Digraph(In in) { this(in.readInt()); int E = in.readInt(); for (int i = 0; i < E; i++) { int v = in.readInt(); int w = in.read…
07 апр '13 в 20:57
2 ответа

C# Параметр + Перегрузка

Я пытаюсь создать приложение с графическим интерфейсом, которое использует класс под названием Chameleon. Внутри класса есть три переменных экземпляра: длина, имя и цвет. Длина двойная, Имя и Цвет - строки. Мне нужно перегрузить конструктор Chameleo…