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

Указатели в функциях - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Расположить строки матрицы по убыванию их последних элементов http://www.cyberforum.ru/cpp-beginners/thread428689.html
В текстовом файле в первой строке записаны два целых числа, разделенные пробелом, – количество строк и столбцов матрицы, в последующих – элементы строк матрицы, также разделенные пробелами, в одной...
C++ Задача с файлами и строками! В текстовом файле записаны строки длиной не более 255 символов, слова в которых разделены хотя бы одним пробелом или знаками препинания. В каждой строке поменять местами слова максимальной и... http://www.cyberforum.ru/cpp-beginners/thread428687.html
C++ Задачи: begin15, proc15, file15, recur15.
может кто решал такие задачи из "Programming Taskbook. Электронный задачник по программированию" автор М. Э. Абрамян. Помогите решить пожалуйста в си++. Begin15. Дана площадь S круга. Найти его...
Обработка структурированных типов данных C++
Нужно разработать алгоритм и программу, реализующую структурированный тип данных (СТД): Линейный связанный список. Определить функции инициализации, присваивания, вывода содержимого и обработки...
C++ Шифрование файлов методом перестановки с двумя ключевыми словами http://www.cyberforum.ru/cpp-beginners/thread428594.html
Здраствуйте ! Необходима программы или её исходник. Суть программы состоит : шифрование файлов методом перестановки с 2умя ключевыми словами. Буду очень блогодарен если есть готовая программа или...
C++ Удаление слова из строки Помогите написать прогу ,которая будет удалить из каждой строки первое слово. подробнее

Показать сообщение отдельно
silent_1991
Эксперт С++
4989 / 3046 / 149
Регистрация: 11.11.2009
Сообщений: 7,028
Завершенные тесты: 1
15.01.2012, 17:42
AvengerAlive, ну так и используйте переданный указатель на конкретного потомка.
C++
1
2
3
4
5
6
template <class T> bool tree<T>::add_f(tree_elem<T> *pos, tree_elem<T> *pos_s, tree_elem<T> *side)
{
 if (side) pos_s=side;
 else side=pos; pos->parent=pos_s;
 return true;
}
Только вызывать придётся так: add_f(pos, pos_s, pos_s->left);
И ещё пара моментов:
1. В выражении pos_s=side; pos_s реально не меняется, потому что когда передаётся указатель, поменять можно только значение по указателю, а не сам указатель. Чтобы поменять сам указатель, нужно передавать указатель на указатель.
2. В else находится только выражение side=pos; Выражение pos->parent=pos_s; выполнится в любом случае.
Я не разбирался, что тут к чему, озвучил проблемные, как мне показалось, места.
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.