Форум программистов, компьютерный форум, киберфорум
C++
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.87/15: Рейтинг темы: голосов - 15, средняя оценка - 4.87
2 / 5 / 0
Регистрация: 23.11.2010
Сообщений: 35
1

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

16.03.2011, 16:04. Просмотров 2930. Ответов 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();
 
}
0
Вложения
Тип файла: txt Новый текстовый документ.txt (812 байт, 33 просмотров)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
16.03.2011, 16:04
Ответы с готовыми решениями:

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

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

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

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

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

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

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

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

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
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
21.03.2011, 17:16

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

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