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

Перегрузка операторов - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Как выглядит конструктор и деструктор для vector ? http://www.cyberforum.ru/cpp-beginners/thread1014876.html
Есть класс: class table_m { public: vector <Item> table; table_m(); }; Как будет выглядеть для него конструктор и деструктор? Конструктор и деструктор для vector нужно вызывать внутри конструктора table_m() ?
C++ в С++ Дана целочисленная квадратная матрица Определить:1)сумму элементов в тех строках, которые содержат хотя бы один нулевой элемент 1)Определить сумму элементов в тех строках, которые содержат хотя бы один нулевой элемент. 2)Поменять местами четные строки и четные столбцы матрицы. Помогите пожалуйста!!! http://www.cyberforum.ru/cpp-beginners/thread1014875.html
C++ Как в char запихнуть переменную?
Здрасте, подскажите пожалуйста, возможно ли в char запихнуть свою переменную? Допустим int x = 123; char com = "Asd"+x+"."; Ну, я думаю смысл понятен. Т.е. мне в середину текста надо впихнуть что-то, а как это сделать - я не вкуриваю. Только если разбивать это дело на куски...
C++ Переведите в код
int x; cin>>x; Если (if) переменная "х" не целочисленное число (int) то выполнить ну или выполнять пока (while) "х" не целочисленное число (int) Нужно это перевести в код
C++ Отсортировать массив http://www.cyberforum.ru/cpp-beginners/thread1014856.html
помогите отсортировать масив из числе 1,2,1,2,1,2,1,2 - так чтоб единици были вместе двойки отдельно . зарание спасибо Добавлено через 1 минуту помогите отсортировать масив из числе 1,2,1,2,1,2,1,2 - так чтоб единици были вместе двойки отдельно . зарание спасибо единици вместе , и двойки вместе вот так : 11112222
C++ Рекурсивный алгоритм Даны натуральные числа "N" и "M" надо решить с помощью с++ не могу переставить с этим кодом с++ #include <stdio.h> #include <math.h> double euob(double n, double m); int main () { double f; подробнее

Показать сообщение отдельно
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
22.11.2013, 09:44     Перегрузка операторов
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
44
45
46
47
48
49
50
51
52
53
54
55
56
57
#include <stdlib.h>
#include <iostream>
#include <cstring> 
 
using namespace std;
//СОЗДАЕМ СОБСТВЕННЫЙ КЛАСС
class stroka
{
public:
    stroka (char*); //конструктор класса принимающий один параметр
    void operator+(char*); //определение оператора +
    void operator-(char); //определение оператора -
    void show_stroka(void); //метод класса для отображения строки
private:
    char data[256]; //символьный массив, доступный только классу
};
 
stroka::stroka(char *str) //Транзитом через конструктор
{
    strcpy(data, str); //копируем в символьный массив класса данные из принимаемой извне строки
}
 
void stroka::operator+(char *str) //Определяем оператор +
{
    strcat(data, str); //как функцию сложения двух строк
}
 
void stroka::operator-(char letter)//Определяем оператор -
{
    char temp[256]; // будем создавать новую строку
    int i, j; //счетчики циклов
    //Проходим по всей строке класса с помощью цикла и если символ строки не равен принятому символу (параметру), то копируем его в новую строку
    for (i = 0, j = 0; data[i]; ++i) if (data[i] != letter) temp[j++] = data[i];
    temp[j] = '\0';
    strcpy(data, temp); //Копируем новую строку в символьный массив класса
}
void stroka::show_stroka(void)
{
    cout << data << endl; //Показываем символьный массив класса
}
 
int main()
{
 
    char st[256], st2[256]; //Объявление двух указателей для строк
    cin.get(st, 256); //Считывание первой строки с клавиатуры
    cin.get();
    cin.get(st2, 256); //Считывание второй строки с клавиатуры
    stroka title(st); //Объявление переменной типа нашего класса и передача в конструктор первой строки
    title + " "; //С помощью перегрузки операторов добавили к строке пробел
    title + st2; //C помощью перегрузки операторов добавили к строке вторую строку
    title.show_stroka(); //Отобразили результирующую строку на экране
    title - 'b'; //При помощи перегрузки операторов пытаемся удалить символ в
    title.show_stroka(); //Отобразили результирующую строку
 
    return 0;
}
Миниатюры
Перегрузка операторов  
 
Текущее время: 03:40. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru