![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 19.05.2011
Сообщений: 11
|
![]()
Всем доброго времени суток. Помогите пожалуйста, нужно перегрузить операторы сравнения строки, удаления из символьной строки указанного символа и переворота строки (==,- и ~ соответственно). Подскажите как это реализовать. Заранее благодарен. Язык - С++.
Последний раз редактировалось cj_loman; 19.05.2011 в 12:14. |
![]() |
![]() |
![]() |
#3 | |
Пользователь
Регистрация: 19.05.2011
Сообщений: 11
|
![]() Цитата:
#include "stdafx.h" #include <iostream> #include <string> #include <conio.h> class string { public: string(char *); void chr_minus(char); void show_string(void); string() {buff[0]='\0';} string(const char* str) {strcpy(buff,str);} ~string() {} bool operator== (const char* str) { if(strcmp(str,buff) == 0) return true; else return false; } const char* size_type; int length; void invert_string( string &a ) { string::size_type= a.size(); for( string::size_type i = 0; i < (length/2); ++i ) { std::swap( a[i], a[length - i - 1] ); } } std::string str = "abcdefg"; invert_string(str); private: char buff[256]; char data[256] ; }; string::string(char *str) { strcpy(data, str); } void string::chr_minus(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] = NULL; strcpy(data, temp); } void string::show_string() { printf("\n%s",data); } int main() { setlocale(LC_ALL, "Russian"); string title( "Uchimsya programmirovat na C++"); string lesson("Peregruzka operatorov"); title.show_string() ; lesson.show_string(); lesson.chr_minus('p'); lesson.show_string(); getch(); return 0; } Вот мой код =) хорошо, если оператор + или - есть пример с перегрузкой, то как же быть тогда с ~ ??? P.S. на programmersclub уже был )) |
|
![]() |
![]() |
![]() |
#4 |
Форумчанин
Регистрация: 11.08.2009
Сообщений: 433
|
![]()
Если найдете что за оператор ~ , то расскажете потом ок?
![]() Единстсвенное предположение можно сделать, это то, что вам необходимо перегрузить деструктор. Код:
|
![]() |
![]() |
![]() |
#5 |
Форумчанин
Регистрация: 29.09.2010
Сообщений: 636
|
![]()
~ - унарный оператор (побитовая инверсия)
Код:
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
С++,перегрузка операторов | colesik | Помощь студентам | 0 | 23.12.2010 23:07 |
Перегрузка операторов(С++) | Сергей AfeR | Помощь студентам | 0 | 16.06.2010 18:34 |
Перегрузка операторов. | Macb3th | Общие вопросы C/C++ | 5 | 01.04.2010 21:14 |
Перегрузка операторов (С++) | Перчитель | Помощь студентам | 1 | 03.12.2008 18:46 |
Перегрузка операторов, Организация перегрузки операторов | chagin_yav | Помощь студентам | 2 | 12.05.2008 09:15 |