Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Lilim
7 / 7 / 0
Регистрация: 24.12.2011
Сообщений: 53
1

Конвертирование в bool собственных типов

18.05.2016, 11:25. Просмотров 126. Ответов 1
Метки нет (Все метки)

Здравствуйте!

Класс rnode оболочка над указателем для подсчета ссылок.

Вот код:
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
class rnode
{
private:
    cNode *ptr;
public:
    rnode(cNode* p = nullptr) : ptr(p)          { if(ptr) ptr->tach(); }
    rnode(const rnode& other) : ptr(other.ptr)  { if(ptr) ptr->tach(); }
    ~rnode()                                    { if(ptr) ptr->untach(); }
 
    inline void operator=(const rnode &other)
    {
        cNode *tmp = ptr;
        ptr = other.ptr;
        if(ptr) ptr->tach();
        if(tmp) tmp->untach();
    }
 
    inline cNode* operator->() { return ptr; }
    inline const cNode* operator->() const { return ptr; }
 
    inline bool operator==(const rnode &other) const { return ptr == other.ptr; }
    inline bool operator!=(const rnode &other) const { return ptr != other.ptr; }
    inline bool operator==(const void *fptr) const { return ptr == fptr; }
    inline bool operator!=(const void *fptr) const { return ptr != fptr; }
};
Можно ли сделать
C++
1
if(_rnode)
вместо
C++
1
if(_rnode != nullptr)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.05.2016, 11:25
Ответы с готовыми решениями:

Конвертирование типов данных
Нужно обработать данные. Пропустить их через кучу функций, каждая из них...

Сортировка собственных типов данных
Задача: В соответствии с вариантом нужно реализовать шаблонную функцию...

Композиции на основе собственных типов
Здравствуйте. Пытаюсь написать реализацию простенького хештебла на основе...

Цвет собственных типов переменных в C++
Здрасте! Что необходимо сделать, чтобы собственные типы переменных в окне "Код"...

Приведение типов собственных классов
Добрый день, пусть есть класс class Line { public int x1,x2 ; ...

1
Kastaneda
Jesus loves me
Эксперт С++
4940 / 3016 / 346
Регистрация: 12.12.2009
Сообщений: 7,612
Записей в блоге: 2
Завершенные тесты: 1
18.05.2016, 11:32 2
нужно добавить operator bool()

C++
1
2
3
4
operator bool()
{
    return ptr;
}
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.05.2016, 11:32

Конфликт типов (int, double, bool)
Есть простейший класс class A { public: A( long ) {} A( double ){}...

не работает bool xor(bool a, bool b)
Учусь по "Базовому курсу" Герберта Шилда #include <iostream> bool xor(bool...

Вычисление собственных значений и собственных векторов матрицы. Метод скалярных произведений
Курсовая работа!! Задание: "Вычисление собственных значений и собственных...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru