Модераторы: Daevaorn
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Правильно ли поступает компилятор в этом случае? 
:(
    Опции темы
Neitron
Дата 14.11.2005, 14:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 580
Регистрация: 3.10.2005
Где: Москва

Репутация: 2
Всего: 5



Имеется такая вещь
Код
class D;

class C{
   D E;
public:
    operator D {return E;}
};

class A{
public:
   A(D);
};

class B
A W;
public:
    B(C);
};

B::B(C Q)
: W(Q){ /*Вот тут пишит что не найдет конструктор для A::A(C), 
преобразование в D не просиходит автоматом, 
какой из методов преобразований выполнит мои требования.
*/
}


Это сообщение отредактировал(а) Neitron - 14.11.2005, 15:01


--------------------
Хороший программист никогда ничего не делает хорошо с первого раза. Он понимает важность патчей.
Ⓘ ⓁⒾⓀⒺ ⓂⓄⓏⒾⓁⓁⒶ
PM MAIL   Вверх
Neitron
Дата 14.11.2005, 15:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 580
Регистрация: 3.10.2005
Где: Москва

Репутация: 2
Всего: 5



А также не работает следующее.

Код

class My{
public:
operator int() const {return 10;}

};

My M;
ShowMessage(int(M));
//Хочу чтобы вывелось 10.



Это сообщение отредактировал(а) Neitron - 14.11.2005, 15:48


--------------------
Хороший программист никогда ничего не делает хорошо с первого раза. Он понимает важность патчей.
Ⓘ ⓁⒾⓀⒺ ⓂⓄⓏⒾⓁⓁⒶ
PM MAIL   Вверх
nikitao
Дата 14.11.2005, 15:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кот-программист
***


Профиль
Группа: Завсегдатай
Сообщений: 1206
Регистрация: 30.8.2005
Где: Спб

Репутация: 1
Всего: 26



Даже не надо привадить My к int у меня откомпилилось правельно такое
Код

#include <iostream>
#include <conio.h>
using namespace std;
class My{
public:
    operator int(){return 10;}
};
int main()
{
    My M;
    cout<<M;
    getch();
    return 0;
}


Добавлено @ 15:56
Но с другими типами хуже к примеру вот такое бред выводит
Код

#include <iostream>
#include <conio.h>
using namespace std;
class My{
public:
    operator char * (){return "WWW";}
};
int main()
{
    My M;
    cout<<M;
    getch();
    return 0;
}

А вот такое все отлично
Код

#include <iostream>
#include <conio.h>
using namespace std;
class My{
public:
    operator char * (){return "WWW";}
};
int main()
{
    My M;
    cout<<(char *)M;
    getch();
    return 0;
} ;-) 


Это сообщение отредактировал(а) nikitao - 14.11.2005, 15:55


--------------------
Жизнь - печальная штука.
PM MAIL ICQ Skype GTalk   Вверх
Neitron
Дата 14.11.2005, 16:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 580
Регистрация: 3.10.2005
Где: Москва

Репутация: 2
Всего: 5



Видимо где-то в другом попутал значит....


--------------------
Хороший программист никогда ничего не делает хорошо с первого раза. Он понимает важность патчей.
Ⓘ ⓁⒾⓀⒺ ⓂⓄⓏⒾⓁⓁⒶ
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1079 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.