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

Найти ошибку в приведенном коде - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Интерфейс на C#, код на С++: возможно ли? http://www.cyberforum.ru/cpp-beginners/thread1076151.html
Например, мне нужна прога в с++, а интерфейс для нее сделать в с#. Возможно ли объединить эти два файла в один???
C++ Цифра из числа Доброе время суток, интересует вот такой вот вопрос, необходимо присвоить значение переменной цифру из числа, т.е есть число A=12345 и мне надо присвоить, например, переменной S пятую цифру. http://www.cyberforum.ru/cpp-beginners/thread1076120.html
C++ Макросы в enum?
Есть макросы #define angles (1<<0) #define v_angle (1<<1) #define punchangle (1<<2) Можно сделать типа такого: ? enum ( <<= 1 ) {
Подсчитать количество нечетных элементов C++
Кто что сможет помогите((( Подсчитать количество нечетных элементов.Замечание. Задачи из данного пункта решить двумя способами, используя одномерный массив, а затем двумерный. 2 Найти номер...
C++ Написать перегруженные функции для вывода на экран элементов массивов статического и динамического http://www.cyberforum.ru/cpp-beginners/thread1076081.html
Здравствуйте! Нужна помощь с решением задачки :) Не могу разобраться с перегруженными функциями :( И, если можно, разъясните что к чему... Задача: Заданы элементы массива. Написать перегруженные...
C++ Как узнать какая конфигурация решения в коде? Пытаюсь определить через код, что у меня Debug или Release, не получается отыскать нужную дерективу препроцесора. Нашел для c#, что-то вроде: #define DEBUG #if DEBUG #include "vld/vld.h"... подробнее

Показать сообщение отдельно
Faoxis
6 / 6 / 0
Регистрация: 11.04.2012
Сообщений: 114
20.01.2014, 08:06  [ТС]
Но при создании явного конструктора копирования срабатывает деструктр и снова ошибка...
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
#include <iostream> 
#include <cstring> 
#include <cstdlib> 
using namespace std; 
 
class strtype 
{ 
    char *p; 
    int len; 
public: 
    strtype(char *a, int b)
    {}
    strtype(char *ptr); 
    void show(); 
    ~strtype(); 
    strtype operator=( strtype p2)
    {
        p = p2.p;
        len = p2.len;
        return strtype (p, len);
    }
}; 
 
strtype::strtype(char *ptr) 
{ 
    len=strlen(ptr); 
    p= new char[len+1]; 
    if(!p) // выделение памяти будет в любом случае (из-за new), поэтому данное условие никогда не пройдет
    { 
        cout << "Ошибка выделения памяти\n"; 
        exit(1); 
    } 
    strcpy(p, ptr); 
}
strtype::~strtype() 
{ 
    cout << "Освобождение памяти по адресу "<<hex<<&p<<'\n'; 
    delete [] p; 
} 
void strtype::show() 
{ 
    cout << p << " - длина: " << len; 
    cout << "\n"; 
} 
int main() 
{ 
    setlocale(LC_ALL, "Russian");
//  char *p;  //переменная не используется
    strtype s1("Первая строка "), s2("Вторая строка"); 
    s1.show(); 
    s2.show(); 
    s2 = s1;   //конструктор копирования был задан не явно 
    s1.show(); 
    s2.show(); 
    return 0;  
}
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.