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

При повторном обращении к объекту меняется его содержимое - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ контейнер vector http://www.cyberforum.ru/cpp-beginners/thread988253.html
Как я понимаю, vector представляет собой что-то вроде динамического массива. Но массивы бывают одномерные,двумерные и так далее. Есть ли возможность реализовать что-то подобное в vector?
C++ Сортировка подсчетом с++ Всем привет. Есть такая проблемка. vs2010 выдает "Прекращена работа программы". Задание - ввод данных в массив, его нужно отсортировать сортировкой подсчетом и применить бинарный поиск к... http://www.cyberforum.ru/cpp-beginners/thread988248.html
Бинарное дерево по заданому выражению C++
Построить и вывести на экран бинарное дерево следующего выражения: 9 + 8 * (7 + (6 * (5 + 4) - (3 - 2)) +1) Написать функции постфиксного, инфиксного и префиксного обхода дерева и вывести...
Реализация стека массивом C++
При реализации стека массивом обеспечить размещение двух стеков в одном массиве. Один стек размещается в начале массива и растет до конца, а второй располагается в конце массива и растет к началу....
C++ приоритет операций в калькуляторе http://www.cyberforum.ru/cpp-beginners/thread988231.html
В целом программа работает нормально, но с минусом косячина конкретная! вот код верхней функции double func() { double res=func1(); char c=cin.get(); switch (c) { case '+': res+=func();...
C++ класс матрица Пытаюсь сделать класс матрица. Т.к. для определения массива в с++ нужны static const, а матрица может быть произвольной, было принято решение использовать vector. Такая штука #include <vector>... подробнее

Показать сообщение отдельно
Shtirliz72
201 / 161 / 38
Регистрация: 25.10.2013
Сообщений: 527
26.10.2013, 11:56
Цитата Сообщение от maria_ Посмотреть сообщение
Первый раз выводится 13, а остальные два - чушь, потому что поле a в v1 оказывается не определено, хотя в Insert я пытаюсь его определить. Как можно сделать, чтобы интерфейс был такой же, но поле a присваивалось?
Девушка, у вас newA - локальная переменная функции Insert, которая уничтожается сразу после завершения работы этой функции(сразу после a = newaPtr). Выделяйте под указатель место с помощью оператора new.
Тоесть:
C++
1
2
3
4
5
6
7
    void Insert( int X )
    {
        A newA; // переменная уничтожается сразу после выполнения строки a = newaPt
        A* newaPtr = &newA; // здесь лучше A* newAPtr = new A;
        a = newaPtr;
    }
};
С другой стороны подобный подход:
C++
1
2
3
4
5
6
7
8
9
10
11
class A
{
public:
    A* a;
    void Insert( int X )
    {
        A newA;
        A* newaPtr = &newA;
        a = newaPtr;
    }
}
ничего кроме недоумения не вызывает. У вас точно всё нормально со структурой проекта?
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru