|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
18.05.2010, 21:16 | #1 |
Новичок
Джуниор
Регистрация: 18.05.2010
Сообщений: 1
|
перегрузка операций
привет! прошу, помогите мне, пожалуйста. заранее спасибо
вот моё задание. создать собственный класс String для работы со строкамит произвольной длины, размещёнными в памяти. для экземпляров класса String должны быть переоперделены операции присваивания, индексирования, помещения в поток и извлечения из потока, сравнения и определена операция конкатенации. конкатенация должна быть реализована для различных типов операндов: двух объектов String, объекта String и строки (и наоборот), объекта String и символа (и наоборот). вот то, что у меня есть. помогите исправить # include <stdafx.h> # include <iostream> # include <string> using namespace std; class String { string s1; string s2; string d[50]; string s3; public: String(){s1="";s2="";} String (string s3,string s4){s1=s3;s2=s4;} String operator=(String Obj); String& operator[](int Obj); String& operator==(String Obj); friend ostream& operator<<(ostream&,String&); friend istream& operator>>(istream&,String&); friend String& operator+(String s5,String s6); String& operator+(char *s); String& operator+(char s); }; String String:perator =(String Obj) { String strok; strok.s1=strok.s2; return strok; } String& String:perator [](int Obj) {String s; return (String&)s.d[Obj]; } String& String:perator ==(String Obj) {String s; return (String&)s.s1==(String&)Obj.s1; } ostream& operator<<(ostream & o, String &s1) {return o<<s1.s1; } istream& operator>>(istream & i,String&s1) {return i>>s1.s1; } String& operator +(String s5,String s6) {return (String&)(s5+s6); } String& String:perator+(char *s) {char *S=new char[strlen(s1)+strlen(s)+1]; strcat(S,s1); strcat(S,s); return (String&)S; } String& String:perator +(char s) { char *S = new char[strlen(s1) + 2]; strcat(S, s1); s=*(S + strlen(s1)); return (String&)S; } int main() { return 1;} |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Перегрузка стандартных операций | Новичек_Rudik | Помощь студентам | 1 | 19.04.2010 23:32 |
перегрузка операций в си++ | Serjuk | Общие вопросы C/C++ | 9 | 20.03.2010 21:30 |
С++ перегрузка операций для шаблонного класса | TIN | Помощь студентам | 7 | 29.03.2009 15:24 |
Конструктор, наследование, перегрузка операций | Lioness | Помощь студентам | 18 | 02.06.2008 20:44 |