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

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

Восстановить пароль Регистрация
Другие темы раздела
C++ Подсчитать в многострочном тексте количество гласных букв http://www.cyberforum.ru/cpp-beginners/thread1647696.html
Не могу сделать программу в Visual Studio . Подсчитать в тексте количество гласных букв. В тексте несколько строк.
C++ Не компилируется программа Здравствуйте. Цель - откомпилировать программу и запустить на WinXP. Проблема в том, что с определенными настройками проект либо компилируется, но работает только выше WinXP (у меня на Win10 запускается, на WinXP - **.exe не является приложением Win32). Два часа мучаюсь, перерыл все гуглы. Решил все таки обратиться за помощью, т.к. проект горит по срокам) В свойствах проекта устанавливаю:... http://www.cyberforum.ru/cpp-beginners/thread1647686.html
Как избавиться от тернарных операторов? C++
Нужно было написать код без if'ов, но не получилось(или их имитации, так точнее). Программа определяет принадлежит ли слово языку. А тернарными операторами смоделировал цикл for, есть ли простой способ уйти от них при этом не усложняя код? Прочитал кучу уроков, везде пишут как их использовать, а вот как убрать непонятно. #include "stdafx.h" #include <iostream> #include <string> using...
Распечатать числовую последовательность по условию C++
Распечатать числовую последовательность по след правилам Первое число посл натуральное и кротно 3 Каждый послед элемент равен сумме кубов цтфр предыдущего Напотмер 33 3в кубе плюс 3 в кубе равно 54 Пять в кубе... И так пока элемент пос не станет равен 153
C++ Задача про фермера http://www.cyberforum.ru/cpp-beginners/thread1647670.html
Фермер хочет построить на своей земле как можно больший по площади сарай. Но на его участке есть деревья и хозяйственные постройки, которые он не хочет никуда переносить. Для простоты представим ферму сеткой размера MxN. Каждое из деревьев и построек размещается в одном или нескольких узлах сетки. Прямоугольный сарай не должен ни с чем соприкасаться (т.е. в соседних с ним узлах сетки не может...
C++ Удаление строки и столбца в матрице с максимальным элементом Доброго времени суток. Выделил память под матрицу. Заполнил её случайными элементами. Нашел максимальный элемент в матрице. Результатом работы должна являться новая матрица b, то есть новая матрица. ВОПРОС: как мне записать остальные элементы строки и столбца, в которых нет максимального элемента? Пример: исходная 3 2 6 5 7 8 1 0 4 подробнее

Показать сообщение отдельно
-ДоМоВоЙ-
 Аватар для -ДоМоВоЙ-
117 / 116 / 46
Регистрация: 19.01.2016
Сообщений: 434
Записей в блоге: 1
26.01.2016, 16:15     Перегрузка оператора "="
В чем проблема?

Добавлено через 4 часа 27 минут
Вот тебе небольшая помощь. Нужно будет создать цикл в операторе, который будет копировать символы из строки в новую, пока не упрется в круглую скобку, если я правильно понял задание. И присвоить это значение s2. Напряги мозг как это организовать. Сложного ничего нет.
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
#include <iostream>
#include <string.h>
using namespace std;
 
class stroka
{
    private:
    enum{SZ=60};
    char str[SZ];
    public:
    stroka()
    {}
    stroka(char s[])
    {strcpy(str,s);}
    void disp()
    {
    cout<<str;
    }
    void set()
    {
    cout<<"Введите строчку: ";
    cin>>str;
    }
 
    stroka operator= (stroka s) 
    {
    strcpy(str,s.str);
    return (str);
    }
    
};
 
int main()
{
    stroka s1,s2;
    s1.set();
    s2=s1;
    cout<<"s1 = ";s1.disp();cout<<endl;
    cout<<"s3 = ";s2.disp();
    return 0;
}
Добавлено через 33 минуты
Делал на андроиде. Должно работать.
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
#include <iostream>
#include <string.h>
using namespace std;
 
class stroka
{
    private:
    enum{SZ=60};
    char str[SZ];
    public:
    stroka()
    {}
    stroka(char s[])
    {strcpy(str,s);}
    void disp()
    {
    cout<<str;
    }
    void set()
    {
    cout<<"Введите строчку: ";
    cin>>str;
    }
 
    stroka operator= (stroka s) 
    {
    for (int j=0;j<strlen(s.str);j++){
    if (s.str[j]=='('||s.str[j]==')'){
    cout<<"Есть скобка в ";}
    else{
    str[j]=s.str[j];}}
    return (str);
    }
};
 
int main()
{
    stroka s1,s2;
    s1.set();
    s2=s1;
    cout<<"s1 = ";s1.disp();cout<<endl;
    cout<<"Скопированный текст в s2 = ";s2.disp();
    return 0;
}
 
Текущее время: 19:54. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru