Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/4: Рейтинг темы: голосов - 4, средняя оценка - 5.00
_Valera_
489 / 371 / 136
Регистрация: 27.01.2015
Сообщений: 1,588
1

Манипуляция объекта класса

02.12.2015, 16:18. Просмотров 786. Ответов 5
Метки нет (Все метки)

Как сделать возможной следующую ситуацию:
C++
1
2
3
4
5
6
7
8
9
10
class P
{
int f;
};
...
 
P p;
if(p){}//допустим, относительно значения  f   
 
.....
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.12.2015, 16:18
Ответы с готовыми решениями:

Манипуляция указателями на объекты класса
Приветствую Есть несколько похожих классов с методами, различающимися...

Объявление объекта класса fstream в качестве статической компоненты другого класса
Доброго времени суток. Есть задание, в котором говорится "...Перепишите...

Проверка создания объекта класса BBB из класса AAA и работа с ним
#define @param2; // объявили для выяснения случая: нужен новый или использовать...

Использование объекта одного класса при создании нового класса
Добрый вечер. У меня такая проблема. Есть готовый класс L2 - список, на его...

Ошибка компиляции (преобразование объекта класса в объект другого класса)
Друзья, добрый день! Не могу понять почему выдается ошибка компиляции......

5
ForEveR
В астрале
Эксперт С++
7995 / 4754 / 651
Регистрация: 24.06.2010
Сообщений: 10,547
Завершенные тесты: 3
02.12.2015, 16:19 2
Лучший ответ Сообщение было отмечено _Valera_ как решение

Решение

C++
1
2
3
4
5
6
7
8
9
10
class P
{
int f;
public:
   /*explicit*/ operator bool() { return f; } // explicit can be used only in C++11
};
...
 
P p;
if(p){}//допустим, относительно значения  f
1
_Valera_
489 / 371 / 136
Регистрация: 27.01.2015
Сообщений: 1,588
02.12.2015, 16:22  [ТС] 3
Цитата Сообщение от ForEveR Посмотреть сообщение
class P
{
int f;
public:
* */*explicit*/ operator bool() { return f; } // explicit can be used only in C++11
};
...
P p;
if(p){}//до
пробовал , оно возвратило отрицательное число , и при этом условие выполнилось .

Ну ладно если это, так, то я ошибся где то. Спасибо.
0
ForEveR
В астрале
Эксперт С++
7995 / 4754 / 651
Регистрация: 24.06.2010
Сообщений: 10,547
Завершенные тесты: 3
02.12.2015, 16:24 4
_Valera_, Переменную f неплохо бы инициализировать нулем. В данном случае в операторе возвращается true если f не ноль и false если ноль.
1
_Valera_
489 / 371 / 136
Регистрация: 27.01.2015
Сообщений: 1,588
02.12.2015, 16:28  [ТС] 5
Цитата Сообщение от ForEveR Посмотреть сообщение
_Valera_, Переменную f неплохо бы инициализировать нулем. В данном случае в операторе возвращается true если f не ноль и false если ноль.
я написал так:
C++
1
return (f> 0);
работает.
0
Tulosba
:)
Эксперт С++
4749 / 3243 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
02.12.2015, 16:30 6
Цитата Сообщение от _Valera_ Посмотреть сообщение
я написал так:
Скобки можешь убрать:
C++
1
return f>0;
0
02.12.2015, 16:30
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.12.2015, 16:30

Возможно ли создание объекта шаблонного класса в функции этого класса?
Доброго времени суток, уважаемые форумчане :) Мне по лабам задали задание -...

Указатель на объект базового класса и адрес объекта производного класса
Пример кода: class Class1 { public: Class1(int x) { j = new int;...

Создание объекта класса с полем являющимся объектом другого класса
Bill a; cin>>a;//тут я ввел с помощью перегруженного оператора ElementSpiska...


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

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

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