С Новым годом! Форум программистов, компьютерный форум, киберфорум
C++
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.57/21: Рейтинг темы: голосов - 21, средняя оценка - 4.57
 Аватар для cobe_thichtudie
3 / 6 / 0
Регистрация: 23.11.2010
Сообщений: 35

Перезагрузка операций и функции в С++

16.03.2011, 16:04. Показов 4006. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
у меня есть лаба по перезагрузке.
Строка символов. Реализовать операции:
сравнение строк (операция = =);
удаления из строки указанного символа (операция -);
переворота строки (операция ~).
Кроме того, членом класса сделать также функцию с именем strset() для удаления из первой строки всех символов, встречающихся во второй строке.

вот мой код, но не все я делала как вот переворота строки, это и есть диструктор да? и как связать с функцией для удаления
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
class string
{
char str[80];
public:
string();
void vvod(char *s);
int operator - (const string ff);
}str1,str2;
 
void string::vvod(char *s)
{
strcpy(str,s);
}
 
void main()
{
  int i;
  char s1[80],s2[80];
  cout<<"vvedite stroku 1\n";
  cin>>s1;
  cout<<"vvedite stroku 2\n";
  cin>>s2;
  mystring str1(80,s1),str2(80,s2),str3(80," ");
  i=str1==str2;
  cout<<"peregruzka ==\n";
  switch(i)
  string& string::operator=(string& x)
  {
      x.p->n++;
      if (--p->n == 0) {
          delete p->s;
          delete p;
      }
      p = x.p;
      return *this;
  }
 
 
int main()
{
  char s1[80], s2[80];
  cout<<"vvedite stroku 1\n";
  cin>>s1;
  cout<<"vvedite stroku 2\n";
  cin>>s2;
  str1.vvod(s1);
  str2.vvod(s2);
  cout<<str1 - str2<<endl;
  getch();
 
}
Вложения
Тип файла: txt Новый текстовый документ.txt (812 байт, 33 просмотров)
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
16.03.2011, 16:04
Ответы с готовыми решениями:

Специализации шаблона функции или перезагрузка
Доброго времени суток. Собственно, мою проблему можно увидеть в коде: #include &lt;iostream&gt; #include &lt;vector&gt; using namespace...

Дружественные функции и перегрузка операций.
Задание 1. Реализовать класс Account, представляющий собой банковский счет. В классе должны быть четыре поля: фамилия владельца,...

Реализовать функции для вычисления логических операций в dll
Реализовать функции для вычисления логических операций NOT, AND, OR, XOR. Пара чисел может задаваться в произвольной системе счисления. ето...

3
Эксперт С++
5058 / 3118 / 271
Регистрация: 11.11.2009
Сообщений: 7,044
16.03.2011, 16:49
Цитата Сообщение от cobe_thichtudie Посмотреть сообщение
Перезагрузка
Перегрузка
Цитата Сообщение от cobe_thichtudie Посмотреть сообщение
это и есть диструктор
Нет, операций ~ - не деструктор, а, в своём первоначальном значении, побитовое отрицание. Так что то, что деструктор начинается с ~, ни о чём не говорит.

Добавлено через 1 минуту
И почему у вас две функции main, одна из которых не имеет закрывающей операторной скобки?
0
 Аватар для cobe_thichtudie
3 / 6 / 0
Регистрация: 23.11.2010
Сообщений: 35
21.03.2011, 16:44  [ТС]
Цитата Сообщение от silent_1991 Посмотреть сообщение
Перегрузка

Нет, операций ~ - не деструктор, а, в своём первоначальном значении, побитовое отрицание. Так что то, что деструктор начинается с ~, ни о чём не говорит.

Добавлено через 1 минуту
И почему у вас две функции main, одна из которых не имеет закрывающей операторной скобки?
здраствуй!!!
а можно объясни по конкретнее как описать операций ~?
0
Эксперт С++
5058 / 3118 / 271
Регистрация: 11.11.2009
Сообщений: 7,044
21.03.2011, 17:16
Да так же, как любой другой оператор:

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
#include <iostream>
 
class Foo
{
public:
    Foo(int foo):
    _foo(foo)
    {
    }
 
    Foo operator~() const
    {
        return ~_foo;
    }
 
    friend std::ostream &operator<<(std::ostream &, const Foo &);
 
private:
    int _foo;
};
 
std::ostream &operator<<(std::ostream &lhs, const Foo &rhs)
{
    return lhs << rhs._foo;
}
 
int main()
{
    int a = 5;
    Foo bar(5);
 
    std::cout << ~a << std::endl;
    std::cout << ~bar << std::endl;
 
    return 0;
}
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
21.03.2011, 17:16
Помогаю со студенческими работами здесь

Перезагрузка операций
Всем привет, проблема в следующем... Нужно решить задачку с книги, перезагрузить оператор '+' так что бы в операции s1= s2+s3; не...

Перезагрузка операций
Класс String описан следующим образом: #include &lt;string.h&gt; #include &lt;conio.h&gt; #include &lt;iostream.h&gt; #include &lt;stdio.h&gt; ...

Перезагрузка операций
Всем привет, есть такая задача. Создать класс - дата с полями в закрытой части: день (1-31), месяц (1-12), год (целое число). Определить...

Перезагрузка операций
Помогите выполнить задание. &quot;Переопределить операцию для класса point таким образом, чтобы применение данной операции к экземпляру...

Перезагрузка операций С++
Всем привет! Прошу помощи в решении задания по перезагрузке операций в С++ Само задание: Создать класс Time для работы с...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и напряжениями. Надо найти токи в ветвях. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и решает её. Последовательность действий:. . .
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru