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

C++

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 14, средняя оценка - 4.71
cobe_thichtudie
2 / 5 / 0
Регистрация: 23.11.2010
Сообщений: 35
#1

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

16.03.2011, 16:04. Просмотров 1799. Ответов 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 байт, 31 просмотров)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.03.2011, 16:04
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Перезагрузка операций и функции в С++ (C++):

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

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

Приоритеты операций - C++
Доброго времени суток! Я недавно начал изучать С++. Читаю книгу &quot;Липпман. С++ для начинающих&quot;. И в ней на странице 178 есть таблица с...

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

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

Завершение программы при выходе из Windows (перезагрузка, выключение) - C++ Builder
Всем привет. Искал-искал - не нашёл ничего. Может, плохо искал... Проблема такая. При выходе из программы стоит стандартный...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
silent_1991
Эксперт С++
4963 / 3039 / 149
Регистрация: 11.11.2009
Сообщений: 7,027
Завершенные тесты: 1
16.03.2011, 16:49 #2
Цитата Сообщение от cobe_thichtudie Посмотреть сообщение
Перезагрузка
Перегрузка
Цитата Сообщение от cobe_thichtudie Посмотреть сообщение
это и есть диструктор
Нет, операций ~ - не деструктор, а, в своём первоначальном значении, побитовое отрицание. Так что то, что деструктор начинается с ~, ни о чём не говорит.

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

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

Добавлено через 1 минуту
И почему у вас две функции main, одна из которых не имеет закрывающей операторной скобки?
здраствуй!!!
а можно объясни по конкретнее как описать операций ~?
silent_1991
Эксперт С++
4963 / 3039 / 149
Регистрация: 11.11.2009
Сообщений: 7,027
Завершенные тесты: 1
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;
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.03.2011, 17:16
Привет! Вот еще темы с ответами:

Перегрузка операций - C++ Builder
Клас-множество set.Дополнительно перегрузить операции: - -удалить елемент с множества -*пересечение множеств -&lt;сравнение множеств

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

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

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


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
21.03.2011, 17:16
Ответ Создать тему
Опции темы

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