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

преобразование типов в с++ - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Вывести предложения, заканчивающие знаком аопроса http://www.cyberforum.ru/cpp-beginners/thread807154.html
Вывести вопросительные предложения где ошибка? #include <iostream> #include <string> using namespace std; int main() { string s,s4="";
C++ Диапазон чисел - вывести по порядку, указывая сколько строк должно быть Здравствуйте! Я новичек, и пробую сам изучать С++ решая задачки. Вот собственно застрял на одном вопросе. Знаю что решение довольно простое. Но чегото никак не выходит, и гуглем не мог найти решения.... Допустим мне надо вывести цифры от 1 до 100 по порядку. 10*10 количество строк и столбцов. Как это сделать применяя циклы for и используя двумерный массив, а также не пользуясь массивами !?... http://www.cyberforum.ru/cpp-beginners/thread807153.html
Динамический массив произвольного размера C++
динамический массив заданного размера: int *massiv = new int а как организовать произвольного размера? спасибо.
C++ Адреса элементов массивов
Добрый вечер. Никак не могу понять зависимость типа переменной массивов и вывода адресов. Пример: #include <iostream> using namespace std; int main () {
C++ Функция потока http://www.cyberforum.ru/cpp-beginners/thread807130.html
Подскажите пожалуйста, как сделать Перевод числа оформить как функцию потока. Ввод числа происходит до запуска потока, а вывод строки – по его завершению. Собственно функции реализованы, но проблемы с декомпозицией в одну функцию. //#include <stdafx.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <locale> static char *sot={"сто","двести","триста","четыреста", ...
C++ Оптимизация алгоритма #include<iostream> #include<stdlib.h> #include<time.h> #include<iomanip> using namespace std; #define jaba for(i=0; i<k; i++) cout<<sum(a,i)<<"\n" const int k = 4; подробнее

Показать сообщение отдельно
OhMyGodSoLong
~ Эврика! ~
 Аватар для OhMyGodSoLong
1234 / 983 / 42
Регистрация: 24.07.2012
Сообщений: 2,002
13.03.2013, 03:06     преобразование типов в с++
Он видит строку x = 12345. Видит знак равно; понимает, что это присваивание; смотрит на тип того, что присваивается; идёт искать по определённым правилам метод myclass& myclass::operator=(R); где R — это тип, сравнимый с типом результата вычисления правой части выражения (тут это int), или тип, который можно привести к сравнимому. Если цепочка преобразований типов есть, то они выполняются (возможно, с созданием временных объектов, а может и нет), после чего вызывается найденный ранее подходящий operator=(); если нет, то получаем ошибку компиляции.

Если не определять дополнительных методов operator=(), то у вас будет лишь стандартный myclass& myclass::operator=(const myclass &). Так что действительно компилятор пойдёт искать способ привести int к этой ссылке. Если не найдёт (а он не найдёт, так как вы его не определяли), то пойдёт искать цепочку преобразований. Такой цепочкой окажется приведение int к myclass (с помощью конструктора с одним параметром, не объявленного как explicit), а потом приведение myclass к const myclass& (с помощью взятия адреса).
 
Текущее время: 01:29. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru