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

Найти ошибку в приведенном коде - 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 Найти номер последнего максимального элемента. Замечание. Задачи из данного пункта решить, используя одномерный массив 3Поменять местами два средних столбца, если количество столбцов четное, и первый со средним...
C++ Написать перегруженные функции для вывода на экран элементов массивов статического и динамического http://www.cyberforum.ru/cpp-beginners/thread1076081.html
Здравствуйте! Нужна помощь с решением задачки :) Не могу разобраться с перегруженными функциями :( И, если можно, разъясните что к чему... Задача: Заданы элементы массива. Написать перегруженные функции для вывода на экран элементов массивов статического и динамического.
C++ Как узнать какая конфигурация решения в коде? Пытаюсь определить через код, что у меня Debug или Release, не получается отыскать нужную дерективу препроцесора. Нашел для c#, что-то вроде: #define DEBUG #if DEBUG #include "vld/vld.h" #endif На плюсах не подходит. Здравствуйте я дебил: #define DEBUG подробнее

Показать сообщение отдельно
chedman
81 / 80 / 2
Регистрация: 30.10.2013
Сообщений: 250
20.01.2014, 09:56     Найти ошибку в приведенном коде
Может так
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
76
77
#include <iostream>
#include <cstring>
#include <cstdlib>
#include <algorithm>
using namespace std;
 
class strtype
{
    char *p;
    int len;
public:
    strtype(char *ptr);
    void show();
    ~strtype();
 
    void swap(strtype & b)
    {
        std::swap(len, b.len);
        std::swap(p, b.p);
    }
 
    strtype & operator = (strtype const & p)
    {
        if(this != &p)
        {
            strtype(p).swap(*this);
        }
        return *this;
    }
 
    strtype(strtype const & cp):len(cp.len), p(new char[cp.len])
    {
        std::copy(cp.p, cp.p + cp.len, p);
    }
};
 
 
strtype::strtype(char *ptr)
{
    len=strlen(ptr);
 
    p= new char[len+1];
 
    cout << "Выделение памяти " << endl;
    if(!p)
    {
        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()
{
    system("chcp 1251");
    //setlocale(0, "866");
//  char *p;  //переменная не используется
    strtype s1("S11"), s2("S222");
    s1.show();
    s2.show();
    s2 = s1;
    s1.show();
    s2.show();
    return 0;
}
Добавлено через 1 минуту
на самом деле тут три раза динамически выделяется память и три деструктор вызывается.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru