Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
Другие темы раздела
C++ Реализация стека/очереди для выдачи номеров пар скобок в тексте https://www.cyberforum.ru/ cpp-beginners/ thread1571829.html
Используя очередь или стек, решить задачу: в файле записан текст, сбалансированный по круглым скобкам. Требуется для каждой пары соответствующих открывающей и закрывающей скобок напечатать номера их позиций в тексте, упорядочив пары номеров по возрастанию номеров позиций: а) закрывающих скобок; (например, для текста a+(45-f(x)*(b-c)) надо напечатать: 8 10; 12 16; 3 17) б) открывающих...
Шифрование и дешифрование методом Цезаря C++
Здравствуйте. Не работает шифрование и дешифрование. Если выводить в шифровке расположение букв числами, то они отрицательные. Соответственно уже дешифрование не работает. Должно работать через массив с алфавитом. #include <iostream> #include <string> #include <conio.h> #include <fstream> #include <cstring> using namespace std;
C++ Массив: Определить количество строк упорядоченных по возрастанию https://www.cyberforum.ru/ cpp-beginners/ thread1571789.html
Дана вещественная прямоугольная матрица. Определить: 1) Количество строк упорядоченных по возрастанию 2) Минимальный элемент, среди элементов главной и побочной диагоналей Напишите пожалуйста код этой программы с комментариями
C++ PTCHAR в std::string Никак не могу парсить переменную Line. Пишет - выражение должно иметь тип класса PTCHAR line = wcstok_s(buffer, TEXT("\r\n"), &context); //разбываем текст на строки, используя разделители, и получаем первую строку while (line != NULL) //пока строка есть { //здесь можем что-то делать со строкой (line) size_t found = line.find_last_of("/"); // Парсим URL URLDownloadToFile(0, line,... https://www.cyberforum.ru/ cpp-beginners/ thread1571772.html
C++ Как реализовать тензорное произведение матриц?
Как реализовать тензорное произведение матриц?
C++ Выбор литературы https://www.cyberforum.ru/ cpp-beginners/ thread1571711.html
Приветствую всех, Сразу говорю, что я читал тему с литературой, но не мог выбрать для себя подходящую книгу. В общем Требуется совет с какой книги начать и почему. Я имею знания -> c#, php(основы),html,css
C++ Написать функцию, удаляющую лидирующие и заключительные пробелы и символы табуляции https://www.cyberforum.ru/ cpp-beginners/ thread1571709.html
Написать функцию, удаляющую лидирующие и заключительные пробелы и символы табуляции Используя только библиотеку #include <stdio.h>
Распознавание текста на изображении C++
Здравствуйте , я был бы очень благодарен если бы кто то помог мне разобраться в том как комп читает изображения , поделился кодом из программы которая переписывает текст из изображения в текстовой документ , или же просто объяснил бы алгоритм работы такого программа . Зорание спасибо ю
C++ Калькулятор Добрый вечер. Помогите пожалуйста с кодом. У меня есть код который, записывает числа в один массив, а знаки в другой, мне как-то теперь нужно доделать что бы калькулятор работал нормально, я имею ввиду множил, делил, добавлял и отнимал по приоритету, без скобок. void rozdilenia(char *stroka, char *sumvolu, float *&chusla, int rozmir, int &zik) { int b = 0, k = 0, x = 0, z = 0; float a = 0;... https://www.cyberforum.ru/ cpp-beginners/ thread1571690.html C++ Освободить указатель на указатель https://www.cyberforum.ru/ cpp-beginners/ thread1571657.html
class Interface { }; class Test : public Interface { }; void main() { Interface** s = new Interface*; for (int i = 0; i < 1024; i++) s = new Test;
Вложенные циклы C++
"Рисование"символами.Символы должны отделяться пробелами.Надо вывести на экран. ____*____ ___***___ __*****__ _*******_ *********
C++ Как задать размеры агрегируемого через переменную? https://www.cyberforum.ru/ cpp-beginners/ thread1571623.html
Вот пример: class child{ public: string surname; string address; char gender; int days; void input();
Модератор
Эксперт CЭксперт С++
5284 / 2371 / 342
Регистрация: 20.02.2013
Сообщений: 5,770
Записей в блоге: 20
05.11.2015, 09:37 0

Explicit в конструкторе - C++ - Ответ 8294357

05.11.2015, 09:37. Показов 3083. Ответов 7
Метки (Все метки)

Ответ

Вот у Праты:
Цитата Сообщение от Стивен Прата
Конструктор C++, который принимает один аргумент, определяет преобразование типа аргумента
в тип класса. Если конструктор снабжен ключевым словом explicit, он может использоваться только
с явной формой преобразования, в противном случае допускается неявное преобразование.
<...>
Возможность применения конструктора, работающего как автоматическая
функция преобразования типов, кажется удобным средством. Но программисты,
накопившие определенный опыт работы с C++, обнаруживают, что автоматический аспект не
всегда желателен, поскольку иногда ведет к неожиданным преобразованиям. Поэтому в C++
добавлено новое ключевое слово explicit для отключения этого автоматического поведения.
Добавлено через 6 минут
Цитата Сообщение от Aqua77 Посмотреть сообщение
Ключевое слово explicit перед конструктором служит лишь для того чтобы не запутаться и передавать аргумент в конструктор явно?
Нет. Оно служит для того, чтобы конструктор не работал как конструктор преобразования. Например, нам совсем не надо, чтобы второй конструктор (который с одним аргументом) преобразовывал тип int в тип Matrix и мы ему запрещаем такое поведение:
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
#ifndef MATRIX_H
#define MATRIX_H
 
#include <iostream>
 
typedef double Item;
 
class Matrix
{
private:
    int m_row;
    int m_col;
    Item ** matrix;
 
public:
    Matrix(int row, int col);
    explicit Matrix(int col);
    ~Matrix();
 
    void fill_rand(Item fromNum, Item toNum);
 
    friend std::ostream & operator<<(std::ostream & os, const Matrix & m);
};
 
#endif // MATRIX_H


Вернуться к обсуждению:
Explicit в конструкторе C++
2
Заказать работу у эксперта
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
05.11.2015, 09:37
Готовые ответы и решения:

неоднозначность, explicit
Добрый вечер. написал такой шаблонный класс: template &lt;class T&gt; class Container { ...

explicit и последствия.
Здравствуйте. Как я узнал, в С++ есть ключевое слово explicit, применяемое к конструкторам с одним...

inline explicit
Почему ошибка? #include &lt;iostream&gt; class A { int i; public: explicit A(int x = 0);...

Когда писать explicit
Зачем нужен explicit разобрался. Но, возник вопрос: зачем его писать? когда Вы его пишете? вроде я...

7
05.11.2015, 09:37
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
05.11.2015, 09:37
Помогаю со студенческими работами здесь

Целевой explicit конструктор
Добрый день. Есть код struct Foo { explicit Foo() { }

Explicit и его назначение
Собственно, полазив по гуглу и по учебнику так и не понял всей сущности explicit. Как я понял: ...

explicit конструктор и перегрузки в классе
class Test { public: Test () { printf(&quot;Simple constructor\n&quot;); } Test...

Создать простенький пример кода с использованием explicit в классе
Можете помочь создать простенький пример кода с использованием explicit в классе?

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru