Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Ошибка в bool функции - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Удалить строки и продублировать столбцы http://www.cyberforum.ru/cpp-beginners/thread702133.html
Помогите решить две задачки (написать код программы в с++): 1. удалить строки с тремя одинаковыми подряд идущими элементами. 2. продублировать столбцы с четной суммой элементов.
C++ Подскажите литературу Здравствуйте, уважаемые. Подскажите какой-нибудь учебник по C++ для начинающих в формате mobi http://www.cyberforum.ru/cpp-beginners/thread702114.html
Что это за компилятор C++
Люди подскажите что это за компилятор и где его можно скачать под Windows 7
C++ Использование перегруженного оператора ввода/вывода в поток базового класса для объекта производного класса
Здравствуйте! Можно ли использовать перегруженный оператор ввода/вывода в поток из базового класса для объекта производного класса, если производный класс не содержит новых полей? class A { ...
C++ Небольшая недоработка в программе http://www.cyberforum.ru/cpp-beginners/thread702102.html
Задача была написать программу, которая читает введенную матрицу, делает проверку значений на четность и положительность. Если условия выполняются, то идет умножение на 2. По задаче если хоть один...
C++ Неправильно выводится рисунок из звездочек Доброго времени суток, имеется задание: отобразить следующий вид последовательности используя While: * * * * ** ** **** ***** ** * ******* * имеется код, который выводит только последние 3... подробнее

Показать сообщение отдельно
Tiva
94 / 94 / 1
Регистрация: 25.04.2012
Сообщений: 429

Ошибка в bool функции - C++

19.11.2012, 15:11. Просмотров 360. Ответов 2
Метки (Все метки)

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
26
27
28
29
30
31
32
#define ADD_OBJ 2
#define ADD_SUB 4
#define DEL_OBJ 8
#define DEL_SUB 16
#define ADD_RIGHT 32
#define DEL_RIGHT 64
#define READ 2
#define WRITE 4
#define EXECUTE 8
#define DELETE 16
 
bool Matrix::check(int right, int k) //к-ключ. если 0 то проверка прав матрицы, если 1 то проверка прав общая
{
    if(k==1)
    {
        if(right & READ) return true;
        else if(right & WRITE) return true;
        else if(right & EXECUTE) return true;
        else if(right & DELETE) return true;
        else return false;
    }
    if(k==0)
    {
        if(right & ADD_OBJ) return true;
        else if(right & ADD_SUB) return true;
        else if(right & DEL_OBJ) return true;
        else if(right & DEL_SUB) return true;
        else if(right & ADD_RIGHT) return true;
        else if(right & DEL_RIGHT) return true;
        else return false;
    }
}
вызываю метод
C++
1
2
if(a.check(124,0)) //do something
else cout<<"нет доступа\n"
почему возвращает всегда истину? должно возвратить ложь
124 это сумма всех прав кроме добавления объекта(первого) 4+8+16+32+64
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru