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

Перегрузить оператор - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ for и while http://www.cyberforum.ru/cpp-beginners/thread673123.html
Объясните плз, когда следует использовать for, а когда while. Пока я не могу сообразить в каких случаях выгоднее использовать while. Ведь можно спокойно использовать вместо него for(;условие; )?
C++ определить тип выражений: пустьchar c; short s; int o; unsigned u; signed char sc; float f; double d; long ing; unsigned short us; long double ld; c-s/i u*3-3.0*u-i u-us*i (sc+d)* ld (5 * lng - 'a')*(s+u/2) (f+3)/(2.5f-s*3.14) http://www.cyberforum.ru/cpp-beginners/thread673099.html
Не получается отладить программу: консольное окно не ставится на "паузу" C++
консольное окно не ставится на паузу, хоть все вроде бы правильно прописал ... я в с++ новичек) #include <iostream> #include <limits.h> #include <float.h> using namespace std; int main() { unsigned short i=65535;
C++ Подсчитать в одномерном массиве количество нулевых значений
Я находил в шапке форума аналогичные задачи, но они не работают....пожалуйста помогите Дан массив А={а1, а2...а20} Нужно 1)Подсчитать в одномерном массиве кол-во нулевых значений 2)Кол-во нечетных элементов 3)Сумму положительных элементов
C++ Определить частоту распределения длин слов текста http://www.cyberforum.ru/cpp-beginners/thread673072.html
Разработать программу, которая вводит текст и определяет частоту распределения длин слов текста. (Знаками препинания в тексте пренебречь).
C++ Что напечатает каждый из приведенных операторов Положим, что i=1, j=2, k=3, m=2. Что напечатает каждый из приведенных операторов? Необходимы ли скобки в каждом случае ? cout<<(i==1)<<endl; cout<<(j==3)<<endl; cout<<(i>=1 && j<4)<<endl; cout<<(m<=99 && k<m)<<endl; cout<<(j>=i || k==m)<<endl; cout(k+m<j || 3-j>=k)<<endl; cout<<(!m)<<endl; cout<<(!(j-m))<<endl; подробнее

Показать сообщение отдельно
panicwassano
591 / 559 / 20
Регистрация: 07.11.2010
Сообщений: 2,004
17.10.2012, 11:55     Перегрузить оператор
как пример, сдвиг вправо это деление на 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
#include <iostream>
 
using namespace std;
 
class CBits
{
public:
    explicit CBits(int a_, int b_):a(a_), b(b_){}
    CBits operator >> (const CBits cb);
    int getA() const { return a; }
private:
    int a;
    int b;
};
 
CBits CBits::operator >> (const CBits cv){
    int value = this->a >> cv.a;
    return CBits(value, this->b);
}
 
int main(){
    CBits c1(8, 4);
    CBits c2(2, 4);
    CBits c3 = c1 >> c2;
    cout << c3.getA();
    return 0;
}
в данном случае 8 >> 2 следует 8 делим на 4 = 2;
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru