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

Конструктор копирования, аварийное завершение на этапе исполнения - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Будут ли все константы гарантированно инициализированы к моменту обращения к ним из разных единиц трансляции http://www.cyberforum.ru/cpp-beginners/thread1240560.html
Безопасно ли такое использование: // config.cpp const int ival = 6; const SomeNonTrivialClass obj(...); // config.h extern const int ival; extern const SomeNonTrivialClass obj; // some_source_file.cpp
C++ Как реализовать свой тип данных Здравсвтуйте,подскажите пожалуйста как реализовать с с++ свой тип данных. Допустим хочу завести массив,где каждому arr будет соответсвовать две переменные(arr.a,arr.b). Если точнее - arr.a,arr.b ... arr.a,arr.b. В дельфи такое делалось через type. Читал про структуры,но вроде это не то,что надо. http://www.cyberforum.ru/cpp-beginners/thread1240527.html
C++ Перегруженный operator<<
Есть допустим такая дружественная функция: объявление template<typename Type> friend std::ostream& operator<<(std::ostream&, Stack<Type>&); определение template<typename Type> std::ostream& operator<<(std::ostream& stream, Stack<Type>& obj_show) { Stack<Type>::node* ptr = obj_show.top;
Вывести на экран суммарный результат, указав число студентов сдавших и проваливших экзамен C++
День добрый помогите решить задачу: есть 10 студентов ( 10 раз на екран должно высвечиватся"Введите результат" результат- если пользователь пишет 1,значит студент сдал,если пишет 2 - провалил нужно -подсчитать число результатов каждого типа) -вывести на экран суммарный результат,указав число студентво здавших и проваливших -если хотя бы 8 студентов сдало тест написать "Отлично"
C++ Как изменить выводное окно? http://www.cyberforum.ru/cpp-beginners/thread1240378.html
Я меняю выводное окно (или как там называется штука которая появляется при запуске программы) через "Свойства" Но когда я отправляю программу на другой компьютер, все изменения пропадают! Как мне изменить выводное окно?
C++ На основании строки генерируем все возможные слова имею такой код #include <iostream> #include <math.h> #include <sstream> using namespace std; void ALLWords(string A, string &w, int N) { if ( N == w.size() ) { cout<<w<<endl; подробнее

Показать сообщение отдельно
Tohitch
0 / 0 / 0
Регистрация: 17.06.2014
Сообщений: 10
10.08.2014, 00:36     Конструктор копирования, аварийное завершение на этапе исполнения
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
#include <iostream.h>
#include <string.h>
 
class String{
   private:
   char *data;
   int max_length;
   public:
   String()
   {
        data=new char[20];
        max_length=20;
   }
   String(int i)
   {
       data = new char[i];
       max_length=i;
   }
    
   String(const String &s)
    {
        if (max_length < s.max_length)
        {
            delete [] data;
            data=new char[s.max_length];
            max_length=s.max_length;
         }
         for(int i=0;i<max_length;i++)
         {
              data[i]=s.data[i];
         }
    }
 
    String(const char *s)
    {
         max_length=strlen(s) + 1;
         data=new char[max_length];
         for(int i=0;i<max_length;i++)
         {
              data[i]=*(s+i);
         }
     }
     ~String()
     {
          delete [] data;
     }
     
     void Print(void)
     {
         cout<<data<<endl;
     }
};
 
void main()
{
    String S1("Hello world");
    S1.Print();
 
    String  S2=S1;
    S2.Print();
}
После начала выполнения программы на экран выводится надпись "Hello world" с объекта S1, а когда приходит время распечатать объект S2 происходит аварийное завершение программы. Помогите пожалуйста разобраться в чем дело.
И еще вопрос, если можно, когда мы создаем объект S2 и инициализируем его объектом S1 то запускается конструктор по умолчанию а затем конструктор копирования или только конструктор копирования?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 14:12. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru