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

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

02.12.2015, 16:18. Просмотров 180. Ответов 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
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Манипуляция объекта класса (C++):

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

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

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

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

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

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

5
ForEveR
В астрале
Эксперт С++
7994 / 4753 / 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
В астрале
Эксперт С++
7994 / 4753 / 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
:)
Эксперт С++
4746 / 3240 / 496
Регистрация: 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...

Реализовать оператор= для присваивания объекта класса-потомка объекту базового класса
Есть два класса A и B, причем класс B является потомком A. Как реализовать...

Как в классе А у объекта класса B вызвать метод класса B ?
Есть Класс A и класс B . В классе B лежит объект типа ArrayList , назовём его...


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

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

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