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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 28, средняя оценка - 4.75
Devochka
31 / 19 / 1
Регистрация: 07.10.2011
Сообщений: 98
#1

R6010 - не понимаю, почему и что VS2010 хочет - C++

27.03.2012, 13:48. Просмотров 3722. Ответов 2
Метки нет (Все метки)

Разработать класс String: конструктор по умолчанию, позволяющий вводить строку 80 символов;
конструктор, позволяющий вводить строку произвольного размера;
конструктор, создающий строку и инициализирующий ее строкой, полученной от пользователя.
Класс должен содержать методы для ввода строк с клавиатуры и вывода строк на экран.

Задание выше, а это моя реализация. При компиляции выдает ошибку : R6010 - abort() has been called. Не понимаю, почему и где ошибка. Никаких errors и warnings не высвечивается.

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
71
72
73
74
75
#include <iostream>
#include <cstring>
#include <stdio.h>
using namespace std;
 
class TString
{
    char *str;
    int length;
 
public:
    
    TString () // конструктор по умолчанию, создает строку в 80 символов
    {
        str = new char [80];
    }
    
    TString (int len) // конструктор, который создаст строку нужного размера
    {
        str = new char [len];
    }
 
    TString (char *S) // конструктор, который 
    {
        str = new char [strlen(S) + 1]; // создаст строку и запишет в нее пользовательскую
        strcpy (str, S);
    }
 
    TString (const TString &st) // конструктор копирования
    {
        str = new char [st.length + 1];
        strcpy (str, st.str);
    }
    
    ~TString ()
    {
        delete [] str;
    }
 
    void inputString ()
    {
        cin.getline (str, length);
    }
 
    void outString ()
    {
        cout << str << endl;
    }
};
 
int main ()
{
    TString s1; // по умолчанию
    cout << "Enter your string :" << endl;
    s1.inputString();
    s1.outString();
    
    int c;
    cout << "Enter your string's length :" << endl;
    cin >> c;
    TString s2 (c); // с заданной длиной
    s2.inputString();
    s2.outString();
 
    char *my_str;
    int d;
    cout << "Enter your string's length :" << endl;
    cin >> d;
    cout << "Enter your string :" << endl;
    cin.getline (my_str, d);
    TString s3 (my_str); // с пользовательской строкой
    s3.outString();
        
    return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.03.2012, 13:48
Здравствуйте! Я подобрал для вас темы с ответами на вопрос R6010 - не понимаю, почему и что VS2010 хочет (C++):

Не понимаю, что не так, почему не работает - C++
#include&lt;cstdlib&gt; #include &lt;stdio.h&gt; #include &lt;conio.h&gt; #include &quot;iostream&quot; using namespace std; void main() {int *a,i,N; ...

Почему компиллятор выдает ошибку и не хочет что бы функция принимала 2 переменных - C++
#include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include &lt;iomanip&gt; #include &lt;conio.h&gt; using namespace std; int funk( int a, int b) ...

Не компилируется,не понимаю,почему - C++
В строке записан текст, имеющий вид «d1± d2±… ±dn», где di – цифры (n&gt;1). Вычислить за-писанное в тексте выражение. #include...

Почему я ничего не понимаю в C++? - C++
Я пол года изучаю этот язык и ничего не понимаю, выезжаю за счёт вопросов на киберфоруме, вот допустим я вчера что-то учил, а сегодня(!)...

не понимаю-почему не сравнивает? - C++
господа имеется программа которая выполняет следущее: 1)пользователь вводит время,которое заносится в файл 2)программ определяет...

Не понимаю почему не выводит acos! - C++
Длины сторон треугольника равны a, b, c. Если треугольник равносторонний, то найти его площадь. Если треугольник равнобедренный, то найти...

2
panicwassano
592 / 560 / 20
Регистрация: 07.11.2010
Сообщений: 2,004
27.03.2012, 14:38 #2
трассировку хоть делали? вылетает на 71ой строке, строка s1 пустая, пройдитесь отладчиком

Добавлено через 56 секунд
C++
1
void inputString () { cin.getline (str, length); }
чему равно length строки s1? ничему!
1
Devochka
31 / 19 / 1
Регистрация: 07.10.2011
Сообщений: 98
27.03.2012, 14:54  [ТС] #3
Спасибо! Уже сама разобралась. Не умею работать отладчиком, приходится головой.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.03.2012, 14:54
Привет! Вот еще темы с ответами:

Выдает ошибку, не понимаю почему! - C++
Эта строка подчеркивает красным: if(strcmp(str,&quot;sin&quot;)==0) res=sin(res); #include &lt;iostream&gt; #include &lt;conio.h&gt; #include...

Туплю не понимаю почему не работает - C++
Массив должен заполняться рандомными значениями, но при запуске прога зависает. // ConsoleApplication1.cpp : Defines the entry point for...

не понимаю почему цикл не заканчивается - C++
Привет! Вот написал. Объясните, пожалуйста, почему цикл не заканчивается? Функция должна считывать инфу и записывать в массив! Идеи по...

Declaration syntax error не понимаю почему - C++
//--------------------------------------------------------------------------- #include &lt;vcl.h&gt; #pragma hdrstop #define N 0 ...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

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