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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.80
Spirit987
2 / 2 / 0
Регистрация: 27.03.2013
Сообщений: 50
#1

Разработать класс String, который в дальнейшем будет использоваться для работы со строками - C++

26.06.2013, 15:41. Просмотров 1381. Ответов 3
Метки нет (Все метки)

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
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
#include <iostream>
#include <stdio.h>
#include <string.h>
using namespace std;
 
class string_                
{
    char *s;
    int len;
public:
    // По умолчанию
    string_(){
    len=81;
    s=new char [len];
    }
    // string Произвольного размера
    string_(int len);
    //string_(char sring[],int x);
 
    // метод Ввода
    void Enter();
    // Вывад
    void Show();
 
    // Kопирование
    string_ (const string_& S);
 
    // удаление
    ~string_(){
        delete [] s;
    }
};
 
string_::string_(const string_& S){
    len=S.len;
    s=new char[len+1];
    strcpy(s,S.s);
}
void string_::Enter(){
        cout<<"Enter line =";
        cin.getline(s,len);
    }
 
void string_::Show(){ 
        cout<<"\nYou to enter line =";
        cout<<s;
        cout<<endl;
    }
 
string_::string_(int x){
    len=x+1;
    s=new char [len];
}
 
 
void main(){
    int size;
string_ line;
line.Enter();
line.Show();
line.~string_();
 
cout<<"size line =";
cin>>size;
string_ line_2(size);
 
// Инициализация 2 элемента
line.Enter();
line_2.Show();
}
Добавлено через 1 минуту
Задание:
конструктор по умолчанию, позволяющий создать строку длиной 80 символов;
конструктор, позволяющий создавать строку произвольного размера;
конструктор, который создаёт строку и инициализирует её строкой, полученной от пользователя.

Класс должен содержать методы для ввода строк с клавиатуры и вывода строк на экран.

Добавлено через 2 минуты
1 конструктор работает
2 пропускает 41 строку на инициализации.

Добавлено через 2 минуты
да скорей всего в примере какая то детская ошибка или того хуже.
но хоть подскажите куда смотреть.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.06.2013, 15:41
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Разработать класс String, который в дальнейшем будет использоваться для работы со строками (C++):

Разработать класс String, который в дальнейшем будет использоваться для работы со строками. - C++
Всем доброго времени суток! Помогите пожалуйста т.к я не очень понимаю задание, что от меня требуется, распишите по пунктам, что мне...

Разработать класс String, который в дальнейшем будет использоваться для работы со строками - C++
Всем доброго времени суток! Вот задание: Разработать класс String, который в дальнейшем будет использоваться для работы со...

Разработать класс String для работы со строками - C++
Разработать программу, демонстрирующую работу с производным от приведенного в примере класса. Класс должен включать три метода работы со...

Разработать класс String для работы со строками - C++
разработать класс String для работы со строками. Класс должен содержать контср по умолчанию, контсруктор копирования. Перегрузить в этом...

Разработать класс String для работы со строками - C++
/*Разработать класс String для работы со строками. Класс должен содержать: - Конструктор по умолчанию, позволяющий создать строку...

Создайте класс String для работы со строками - C++
народ помогите пожалуйста, классы тяжко даются:( 1. код корректен? 2. не могу сообразить как написать функцию bool hasSubstring # ...

3
Gepar
1177 / 533 / 20
Регистрация: 01.07.2009
Сообщений: 3,517
26.06.2013, 15:46 #2
Цитата Сообщение от Spirit987 Посмотреть сообщение
2 пропускает 41 строку на инициализации.
До geline() может докатиться какой-то пробел в буфере от предыдущего чтения, очищайте буфер вызовом _flushall() перед этим getline.
1
Spirit987
2 / 2 / 0
Регистрация: 27.03.2013
Сообщений: 50
26.06.2013, 15:52  [ТС] #3
может можно чем то заменить cin.getline
не выдел ответа сейчас попробую
0
Gepar
1177 / 533 / 20
Регистрация: 01.07.2009
Сообщений: 3,517
26.06.2013, 16:13 #4
@Spirit987, можешь ещё чтобы наверняка сделать cin.clear() перед этим, обычно комбинации
C++
1
2
_flushall();
cin.clear();
хватает чтобы привести в боеспособность почти любую операцию с входным потоком

Добавлено через 52 секунды
P.S иногда(в зависимости от компилятора) перед flushall может понадобиться не одно нижнее подчёркивание, а несколько.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.06.2013, 16:13
Привет! Вот еще темы с ответами:

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

Создать класс для работы сo строками - C++
Создать класс для работы сo строками. Разработать элементы класса: a. Поля: * указатель на char - хранит адрес динамически выделенной...

Класс для работы со строками CString - C++
Написать текстовый редактор с параметрами 1. Вставка в начало 2. Копирование строк 3. Поиск в строке Мне непонятна одна вещь: как...

Написать класс для эффективной работы со строками - C++
Написать класс для эффективной работы со строками, что позволяет форматировать и сравнивать строки, хранить в строках числовые значения и...


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

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

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