Форум программистов, компьютерный форум CyberForum.ru

Почему конструктор не работает? - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Вектор действительных чисел http://www.cyberforum.ru/cpp-beginners/thread696854.html
Ввести вектор действительных чисел. Все элементы больше величины среднего арифметического элементов вектора заменить на ноль, а максимальный элемент заменить на значение среднего арифметического. помогите написать код очень срочно надо, я уже запутался :wall: или дайте пожалуйста ссылку=)
C++ Напишите программу по обработке массива, как объекта созданного Вами класса «Массив» помогите составить программу на С++ Напишите программу по обработке массива, как объекта созданного Вами класса «Массив», согласно варианту и выполните на тестовых данных. В отчете представьте листинг программы и результатов вычислений. Операции с массивами следует реализовать программно, используя указатели, а не индексы: Дано целое N, вещественная матрица размера N x 5. Найти среднее... http://www.cyberforum.ru/cpp-beginners/thread696853.html
C++ Отсортировать массив(структуры)
Задано сведения о кубиках: размер кубика (длина ребра), цвет (красный, желтый, зеленый или синий), материал (деревянный, металлический, картонный). Выдать на печать:  количество кубиков каждого цвета и их суммарный объем;  количество деревянных кубиков с ребром 3 см;  количество металлических кубиков с ребром более 5 см;  Отсортировать записи по их длине ребра. Первые 3 задания я...
C++ Конветпция n символа в s
Вопрос вот собственно в чем зачем в этой сточке s = n % 10 + '0' мы прибавляем '0' /* itoa: преобразование n в строку s */ void itoa(int n, char s) { int i, sign; if ((sign = n) < 0) /* сохраняем знак */ n = -n; /* делаем n положительным */ i = 0; do { /* генерируем цифры в обратном порядке */ s = n % 10 + '0'; /* следующая цифра...
C++ Создать базу данных, в которой нужно вывести фрукты только красного цвета http://www.cyberforum.ru/cpp-beginners/thread696835.html
Ребята напишите пожалуйста программы: 1) Вывести символы с ключевыми символами а, ю. Если присутствует только символ не выводить. 2) Создать базу данных, в которой нужно вывести фрукты только красного цвета. Друзья, выручайте. Очень надо ... (((((
C++ Builder "Constant expression required" void __fastcall TForm1::Button4Click(TObject *Sender) { int col; int value=StrToInt(Edit4->Text); int count=StringGrid1->ColCount; //-вот здесь ругаеться for(col=1; col<StringGrid1->ColCount; col++) { if(value==count) { StringGrid1->Cells=Edit5->Text; подробнее

Показать сообщение отдельно
soon
 Аватар для soon
2536 / 1301 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
13.11.2012, 23:13     Почему конструктор не работает?
Цитата Сообщение от Nweo Посмотреть сообщение
По букварю (Дейтелы) условие такое. Авторы аргументируют тем, что в set-функции класса, устанавливающем значение элементов данных в области доступа private, можно реализовать полезные дополнения, в виде проверки корректности вводимых данных. При этом в случае необходимости надо будет модифицировать только эту set-функцию, не трогая остальные клиенты элементов данных.
Теперь конструтор перестает быть exception-safe. А это может повлечь за собой всякие веселые вещи, например, не будет вызываться деструтор для объекта. В C++11 можно заюзать делегирование конструкторов.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
#include <iostream>
 
struct Foo
{
    Foo()
    {
        std::cout << "Foo()" << std::endl;
    }
 
    template <class... Args>
    Foo(Args&&...): Foo()
    {
        std::cout << "Foo(...)" << std::endl;
        throw_an_exception();
    }
 
    void throw_an_exception()
    {
        throw 42;
    }
 
    ~Foo()
    {
        std::cout << "~Foo()" << std::endl;
    }
};
 
int main()
{
    try
    {
        Foo();
        Foo(3.14);
    }
    catch(...)
    {
        std::cout << "Exception" << std::endl;
    }
    return 0;
}
Добавлено через 2 минуты
Цитата Сообщение от Croessmah Посмотреть сообщение
То есть классы еще не изучили нормально, а используют string? ИМХО, бред!
Для использования контейнера std::string не обязательно знать классы, но надо уметь работать с указателями и выделением памяти, поскольку первое - лишь способ реализации.
 
Текущее время: 04:12. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru