информационная безопасность
без паники и всерьез
 подробно о проектеRambler's Top100
Портрет посетителяАтака на Internet
BugTraq.Ru
Русский BugTraq
 Анализ криптографических сетевых... 
 Модель надежности двухузлового... 
 Специальные марковские модели надежности... 
 ФБР нашла русский след в атаках... 
 Массовый взлом SharePoint 
 Microsoft Authenticator прекращает... 
главная обзор RSN блог библиотека закон бред форум dnet о проекте
bugtraq.ru / форум / beginners
Имя Пароль
ФОРУМ
если вы видите этот текст, отключите в настройках форума использование JavaScript
регистрация





Легенда:
  новое сообщение
  закрытая нитка
  новое сообщение
  в закрытой нитке
  старое сообщение
  • Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
  • Новичкам также крайне полезно ознакомиться с данным документом.
Господа, будьте снисходительны, не бросайтесь сразу штрафовать за, как вам кажется, глупые вопросы - beginners на то и beginners.
Ага :))) (update) 12.11.03 14:23  Число просмотров: 1199
Автор: Ktirf <Æ Rusakov> Статус: Elderman
Отредактировано 12.11.03 14:25  Количество правок: 1
<"чистая" ссылка>
class A
{
  // ...
  operator char *() const;
};

A::operator char *() const
{
  // ...
}

---
Замечу в скобках, что подобных привидений лучше делать поменьше, и вообще их не делать для приведения к типам, которые сам можешь исправить. Ибо приведения, описанные таким образом, выполняются неявно, и при приведениях к указательным типам можно столкнуться с неожиданными побочными эффектами (почему в std::string отказались от operator const char *, заменив его на c_str). Да, условие константности приводимого объекта можно при необходимости опустить, разумеется.
<beginners>
С++ Как для класса определить преобразование к типу. 12.11.03 13:57  
Автор: DPP <Dmitry P. Pimenov> Статус: The Elderman
<"чистая" ссылка>
Допустим определен класс A

class A{...};

Берем объект

A a;

Преобразовываем, ну скажем, к типу char*

char *cp;
cp = (char *)a;

Как будет выглядеть этот метод преобразования?
Туплю я что-то... наверняка все слишком просто.
Ага :))) (update) 12.11.03 14:23  
Автор: Ktirf <Æ Rusakov> Статус: Elderman
Отредактировано 12.11.03 14:25  Количество правок: 1
<"чистая" ссылка>
class A
{
  // ...
  operator char *() const;
};

A::operator char *() const
{
  // ...
}

---
Замечу в скобках, что подобных привидений лучше делать поменьше, и вообще их не делать для приведения к типам, которые сам можешь исправить. Ибо приведения, описанные таким образом, выполняются неявно, и при приведениях к указательным типам можно столкнуться с неожиданными побочными эффектами (почему в std::string отказались от operator const char *, заменив его на c_str). Да, условие константности приводимого объекта можно при необходимости опустить, разумеется.
1




Rambler's Top100
Рейтинг@Mail.ru


  Copyright © 2001-2025 Dmitry Leonov   Page build time: 0 s   Design: Vadim Derkach