Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 08.04.2012, 17:27   #1
Amy_Lee
Новичок
Джуниор
 
Регистрация: 08.04.2012
Сообщений: 1
По умолчанию Собственный класс строк

Добрый вечер. Пишу свой класс строк, беда в том, что во вводе что-то, видимо, не так..В общем, строка вводится, но не может быть выведена потом (а точнее, выводится пустая). Все получается, если только строка уже задана.. Помогите, пожалуйста )

Код:
#include <iostream>
#include <string>
#include<conio.h>
using namespace std;
 
class mystr
{
    char* str;
    int length;
public:
    mystr();
    mystr(const char *s);
    mystr(const mystr& str);
    ~mystr() {delete [] str;};

	void swap(mystr& other);
    mystr& operator=(const mystr& s);
    friend ostream& operator<<(ostream& os, mystr& str);
friend istream& operator >> (istream& is, mystr& s);


};
mystr::mystr()    
{
    str = new char [1];
    str[0] = '\0';
    length = 0;
}
mystr::mystr (const char *s)
{
    length = strlen(s);
    str = new char[length+1];  
    strcpy(str,s);
}
mystr::mystr(const mystr& s)
{
    length = s.length;
    str = new char [length+1];
    strcpy(str, s.str);
}
 
void mystr::swap(mystr& other) /*throw()*/ {
 
    char *tmp = other.str;
    other.str = str;
    str = tmp;
 
    int tlen = other.length;
    other.length = length;
    length = tlen;
 
}
 
mystr& mystr::operator=(const mystr& s)
{
    mystr tmp(s);
    swap(tmp);
    return *this;
}

ostream& operator<<(ostream& os, mystr& s)
{
    os << s.str;
    return os;
}

istream& operator >> (istream& is, mystr& s)
{
    while ( is.good() )
    {
        char c = is.get();
        if (is.good()) {
            std::cout << c;
            if( c == '\n' ) break;
        }
    }
    return is;
}
Amy_Lee вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
свой собственный класс MediaPlayer'a nick17 Помощь студентам 2 26.11.2010 13:54
Как заставить собственный класс работать с канвой формы restarterx Общие вопросы Delphi 4 25.11.2010 11:09
Delphi7,как создать собственный класс ? -ushёl- Общие вопросы Delphi 15 13.06.2010 01:02
Собственный класс диалогового окна на чистом WinApi в Delphi Iber Win Api 19 01.12.2008 15:40
Рисование многоугольника (собственный класс) MaTBeu Общие вопросы C/C++ 1 08.12.2007 14:53