Вопросы по теме 'default-constructor'
Компилятор жалуется на BOOST_CHECK_THROW в конструкторе
Не компилируется следующее:
class Foo {
public:
Foo( boost::shared_ptr< Bar > arg );
};
// in test-case
boost::shared_ptr< Bar > bar;
BOOST_CHECK_THROW( Foo( bar ), std::logic_error ); // compiler error here
Реализация Bar...
2053 просмотров
schedule
19.07.2023
Инициализирует ли конструктор по умолчанию встроенные типы?
Инициализирует ли конструктор по умолчанию (созданный компилятором) встроенные типы?
85930 просмотров
schedule
05.05.2023
Мне действительно нужно определить конструктор по умолчанию в java?
Он отлично работает, когда конструкторы не определены, но выдает ошибки, если я определяю параметризованный конструктор, а не конструктор по умолчанию и не передаю никаких значений при создании объекта . Я думал, что конструкторы предопределены....
45637 просмотров
schedule
01.03.2023
2 разных типа вызова конструктора из конструктора копирования
Рассмотрим пример кода ниже:
#include <iostream>
using namespace std;
class core
{
public:
core(const core& obj)
{
cout << "core copy ctor called\n";
}
core()
{
cout <<...
734 просмотров
schedule
06.05.2022
Жалобы компилятора на то, что объект const не инициализирован
Возможный дубликат: неинициализированная константа
Я понимаю, что объект const должен быть инициализирован.
Итак, для следующего кода
class sample
{};
int main()
{
const sample obj;
return 0;
}
компилятор будет...
1008 просмотров
schedule
15.05.2023
Конструктор C ++ по умолчанию: строковые параметры vs строковые параметры ()
Возможный дубликат: Не являются ли круглые скобки в конструкторе без аргументов языковым стандартом?
Может ли кто-нибудь объяснить, почему эта строка не дает мне ошибки:
string params;
params+="d";
но эти строки:
string...
372 просмотров
schedule
07.04.2023
Каковы преимущества класса Object с открытым конструктором без параметров?
Некоторое время я пытался определить, почему класс Object имеет общедоступный конструктор без параметров или, действительно, почему он не помечен abstract .
Я не вижу разумного обстоятельства, при котором было бы необходимо (явно) вызывать...
105 просмотров
schedule
17.05.2022
Мой конструктор указывает по крайней мере одно значение для построения, и все же он может быть создан по умолчанию
Возьмите следующий класс:
class Foo{
public:
Foo(std::string bar_, int baz_ = 7)
:bar(bar_)
,baz(baz_)
{}
private:
std::string bar;
int baz;
};
Поскольку Foo(std::string bar_, int baz_ = 7); — мой единственный...
113 просмотров
schedule
24.04.2023
Ошибка конструктора значений по умолчанию: «foo» не является прямым основанием для «foo»
Я пытался настроить конструкторы по умолчанию, но продолжаю сталкиваться с ошибкой:
newton.h:29:38: error: type ‘Newton’ is not a direct base of ‘Newton’
Я не понимаю, что делаю неправильно, я использую g ++ с std = c ++ 0x (настройка...
266 просмотров
schedule
31.05.2023
какова роль конструктора при создании объекта в java
класс имя_класса = новый класс();
именно так мы определяем и создаем экземпляры объектов в java.
Мой вопрос: Какую роль здесь играет конструктор 'class ()' здесь, в этом утверждении.
2492 просмотров
schedule
09.03.2023
Дескрипторы ресурсов - запрещающие конструкторы по умолчанию?
Итак, я занимался разработкой библиотеки и столкнулся с дилеммой. Библиотека является частной, поэтому я не могу ею поделиться, но я чувствую, что это может быть значимый вопрос.
Дилемма возникла из-за того, почему в библиотеке нет конструктора по...
356 просмотров
schedule
24.10.2022
Написание конструктора по умолчанию вызывает нулевую инициализацию?
Это мои определения классов:
class Foo{
int _ent;
public:
void printEnt() const{cout << _ent << ' ';}
};
class Bar{
Foo _foo;
public:
void printEnt() const{_foo.printEnt();}
};
И это мой тестовый код:
char*...
1162 просмотров
schedule
22.12.2023
Частный конструктор C++ по умолчанию с пустым телом
Я видел код здесь .
Существует класс с закрытым конструктором по умолчанию с пустым телом и параметризованным конструктором. В комментариях к коду говорится, что конструктор по умолчанию был сделан закрытым, чтобы не можно было создавать объекты...
1031 просмотров
schedule
01.05.2022
Как убедиться, что ваш объект инициализирован нулем?
Обновление : я ищу способ инициализировать весь класс сразу нулями, потому что технически можно забыть добавить ' = 0 ' или ' {} ' после каждого члена. В одном из комментариев упоминается, что явно заданный по умолчанию c-tor без аргументов...
221 просмотров
schedule
18.03.2023
Является ли конструктор по умолчанию потокобезопасным в С++?
class log_String {
//These are private!
std::vector<std::string> list;
std::mutex m;
log_String& operator=(const log_String &source); //Operatore assegnazione
log_String(const log_String &source);
public:
log_String()...
315 просмотров
schedule
02.03.2023
Конструкторы классов, перегруженные конструкторы и инициализация объектов
Из руководства по C++ , глава Классы (I), Перегрузка конструкторов:
Но в этом примере также представлен конструктор особого вида: конструктор по умолчанию. Конструктор по умолчанию — это конструктор, не принимающий параметров, и он особенный,...
565 просмотров
schedule
16.05.2022
Ни конструктор по умолчанию, ни конструктор копирования не вызываются при использовании анонимного объекта
Ниже приведен фрагмент, предназначенный для тестирования конструкторов. Он был запущен в VS 2015.
На мой взгляд, "B b(B())" имеет ту же функцию, что и "B b = B()", однако мой код говорит, что они ведут себя по-разному.
Я знаю, что при...
194 просмотров
schedule
12.04.2022
Почему типы закрытия/лямбда-выражения не имеют конструктора по умолчанию в C++
По какой причине у лямбда-выражений нет конструктора по умолчанию? Есть ли за этим какая-то техническая причина, или это чисто дизайнерское решение?
601 просмотров
schedule
11.06.2024
Инициализация двойной скобки
Какой конструктор следует вызывать в следующем коде и почему?
struct S
{
int i;
S() = default;
S(void *) : i{1} { ; }
};
S s{{}};
Если я использую clang (из транка), то вызывается второй.
Если второй конструктор...
1024 просмотров
schedule
30.12.2022
= видимость конструктора по умолчанию
у меня такой код
class A
{
A() = default;
};
class B
{
B();
};
B::B() = default;
int main()
{
A a{}; //1
A a1; //2
B b{}; //3
B b1; //4
}
Строки 2, 3, 4 генерируют ошибку компиляции, как и ожидалось. Но линия 1...
60 просмотров
schedule
25.12.2022