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

как правильно перегружать оператор? - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Списки.удалить фамиллии на букву "Б" http://www.cyberforum.ru/cpp-beginners/thread598717.html
Задание: в список записать фамилии 5 студентов. удалить фамиллии на букву "Б" #include "stdafx.h" #include<conio.h> #define stud struct student stud {char fam;}; const int n=5; int _tmain(int argc, _TCHAR* argv)
C++ Как лучше перевернуть байт? Дан сырой байт, надо поменять порядок бит на противоположный. В принципе я могу написать так: char BitSwap(char x) { return ((x&0x01)<<8)|((x&0x02)<<6)|((x&0x04)<<4)|((x&0x08)<<2)|((x&0x10)>>2)|((x&20)>>4)|((x&0x40)>>6)|((x&0x80)>>8); }. Но оптимально ли это? И если нет, то как сделать лучше? Есть ли для этого готовая операция? Как написать проще? А как будет быстрей? http://www.cyberforum.ru/cpp-beginners/thread598712.html
Разъясните пару моментов по теории C++
1)Какими соображениями руководствуется разработчик, выбирая как ему прилинковывать написанные им же библиотеки: статически или динамически? 2)Есть некий проект, результатом которого является бинарный файл. Имеется сам бинарный файл и все объектные файлы, которые были необходимы для его генерации. Разработчик меняет содержимое файла а) file . cpp и б) file . h – файл с реализацией и...
Класс римские цифры C++
Прога запрашивает ввести 2 римских числа, затем выводит их сумму в арабском и римском варианте. Сам функционал рабочий, но необходимо еще создать класс, инкапсуляцию, полиморфизм, абстрактный класс. Не понимаю, из каких данных и как сделать в этой проге и можно ли сделать вообще, подскажите пожалуйста :) #include <iostream> using namespace std; const char...
C++ Протабулировать функцию http://www.cyberforum.ru/cpp-beginners/thread598682.html
протабулировать функцию y=F6+8(x) на отрезке (0;6) с шагом h=0.1*6.результаты вычислений вывести на экран в виде таблицы пар чисел x,y. Выполнить дополнительно задачи своего варианта поиска данных по некоторому критерию (признаку). Если искомых данных нетбвывести об этом сообщение. 6) Вычислить количество отрицательных значений функции y. Определить её максимальное значение. срочно нужно!...
C++ Задача упорядочения! Написать программу полного перебора для 3 станков! Задача: Над деталями должны быть выполнены следующие операции «Расточка» (Ai), «Фрезеровка» (Вi), «Чистовая обработка» (Сi) в указанной последовательности Ai->Bi->Ci. Известны сроки выполнения этих операции над деталями P1, ..., P5 : ******************************* **Операция*****Ai*****Вi*****Сi*** **Деталь************************ ******************************* ... подробнее

Показать сообщение отдельно
Dze
Сообщений: n/a
07.06.2012, 09:07     как правильно перегружать оператор?
Есть такой класс.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
class LampaO
{
private:
    int svet;
    int job;
    int pro;
public:
    LampaO(int voltage=220);
    int IfJob();
    int IfSvet();
 
    const LampaO  operator+ (const LampaO &v )
        { 
            LampaO  p = *this;
             
            return LampaO(p.pro +=v.pro);
        }
 
        
};
вот его конструктор
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
LampaO::LampaO(int voltage)
{
    pro=110;
    if(voltage>pro)  // здесь pro=220; хотелось бы так, но не так pro=110
    { 
        job = 0;
        svet=0;
    }
    else
    {
        job=1;
        svet=voltage*100/pro;
    }
}
Пожалуйста поясните почему оператор не присваивает pro=220
Здесь pro элемент этого класса я бы хотел что бы pro наследовалось из другого Вопрос: можно ли использовать в операторе одного класса, переменные другого
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 04:09. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru