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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Бабуля
71 / 71 / 17
Регистрация: 10.08.2012
Сообщений: 202
#1

Определить операторы как функции члена класса - C++

04.06.2013, 00:20. Просмотров 401. Ответов 1
Метки нет (Все метки)

Добрый вечер!
Ребята, помогите решить вот такую задачку:

Необходимо определить операторы +, =, +=, -=, *=, [], как функции члена класса.
И определить функцию печати!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.06.2013, 00:20     Определить операторы как функции члена класса
Посмотрите здесь:

Функции в качестве члена класса - C++
Вот изучаю классы, и я так понял,можно описывать функции вне класса, достаточно знака ": :". Вот решил написать, поэкспериментировать....

Вызов функции-члена класса по адресу в памяти - C++
Всем хорошего дня :) Допустим, что где-то есть static функция, не принимающая аргументов и ничего не возвращающая. Имея один лишь...

Перегруженный оператор сдвига '<<' не функции-члена класса для объекта ostream - C++
Добрый день. В учебнике попалось на первый взгляд простое задание: #include &lt;iostream&gt; int main() { std::cout &lt;&lt; &quot;Hello,...

Запрещение переинициализации public-поля как члена класса - C++
Здравствуйте! Предположим, у нас есть некий класс, в нем есть public-поле, которое выполняет некоторые служебные функции. Нужно...

Создать конструктор для массива, как члена класса - C++
Добрый день! Если одним из членов класса, является массив, какой конструктор может для него использоваться, как он выглядит?

Как создать гетер для члена класса с типом bool? - C++
Всем привет!!! У меня есть класс и его экземпляр NameDialog dialogNameFile, созданный в классе GuiInteraction. В функциях класса...

Как перегрузить операторы вне класса? - C++
как перегрузить операторы вне класса? class ErkarTiv { public: char a; void operator=(char* ); ErkarTiv...

Как перегрузить операторы для шаблонного класса? - C++
Собственно задание: Нужно написать класс описывающий обычный вектор на плоскости. Для этого класса вам нужно реализовать сложение,...

Передача std::wstring как параметра функции-члена - C++
IDE VS 2015. В солюшене 2 проекта. В одном из проектов класс примерно такой: class Messager{ void message(std::wstring msg)...

Использование члена структуры как аргумента функции и его изменение - C++
В учебнике Герберта Шилдта «C++. Полное руководство» написано как передавать член структуры в функцию как её аргумент, но почему-то не...

Как такое может быть? (вызов функции-члена без объекта) - C++
собственно вопрос озвучен. #include &lt;iostream&gt; using namespace std; class Test { public: void print() {

Как полю класса А обратится к приватной функции класса А? - C++
Есть лифт (класс &quot;Elevator &quot;), в котором находится кнопка (класс &quot;Button&quot;). При нажатии на кнопку (функция &quot;push&quot;) должен пойти сигнал в...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ninja2
230 / 186 / 7
Регистрация: 26.09.2012
Сообщений: 2,018
Завершенные тесты: 1
04.06.2013, 01:31     Определить операторы как функции члена класса #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
33
34
35
36
37
38
39
40
41
42
43
#include <iostream>
using std::cout;
using std::endl;
 
class babyl9
{
    int p;
    int mass[10];
public:
    babyl9():p(0){for(int i=0;i<10;i++)mass[i]=i;}
    babyl9(int a):p(a){for(int i=0;i<10;i++)mass[i]=i;}
    babyl9(babyl9& a):p(a.p){for(int i=0;i<10;i++)mass[i]=a.mass[i];}
    void operator+(){}
    babyl9& operator=(const babyl9& b){p=b.p;return *this;}
    babyl9& operator+=(const babyl9& b){p+=b.p;return *this;}
    babyl9& operator-=(const babyl9& b){p-=b.p;return *this;}
    babyl9& operator*=(const babyl9& b){p*=b.p;return *this;}
    int& operator[](int i){return mass[i];}
    void print(){cout <<p<<endl;}
    void printMass(){for(int i=0;i<10;i++)cout <<mass[i]<<' ';cout <<endl;}
 
};
 
int main()
{
    babyl9 b1(4);
    babyl9 b2(5);
    babyl9 b3;
    b3=b1;//
    b3.print();//4
    b3+=b2;
    b3.print();//9
    b3*=b2;
    b3.print();//45
    //и т.д.
    
    cout <<b3[3]<<endl;//3
    cout <<b3[4]<<endl;//4
 
    b3.printMass();//vuvod mass
 
    return 0;
}
Ответ Создать тему
Опции темы

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