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

Возврат указателя на строку из фукнции - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Работа с файлами (продолжение) http://www.cyberforum.ru/cpp-beginners/thread128674.html
1) Даны имена двух файлов вещественных чисел. Известно, что один из них (не обязательно первый) существует и является непустым, а другой в текущем каталоге отсутствует. Создать отсутствующий файл и записать в него конечный и начальный элементы существующего файла (в указанном порядке). 2) Дан файл целых чисел с элементами A1, A2, …, AN (N — количество элементов в файле). Заменить исходное...
C++ Найти номер последнего экстремального (минимального или максимального) элемента из набора. Дано целое число N и набор из N целых чисел. Найти номер последнего экстремального (то есть минимального или максимального) элемента из данного набора. http://www.cyberforum.ru/cpp-beginners/thread128667.html
C++ Сформировать массив
Люди добрые помогите сформировать массив, содержащий сведения о булочной. Структурный тип содержит поля: номер, название товара, фирма-поставщик, количество полученных единиц данного товара, количество проданных единиц данного товара, цена поставщика на данный товар, цена магазина на данный товар. Выдать на экран следующую информацию: - выручка магазина от продажи хлебо-булочных изделий;...
C++ Работа с файлами
Помогите пожалуйста с этой задачей: даны файлы f и g, компоненты которых являются целыми числами. Записать в файл h сначала компоненты файла f, затем компоненты файла g с охранением порядка. Заранее благодарен.
C++ Поиск в файле http://www.cyberforum.ru/cpp-beginners/thread128641.html
Привет всем! Опять мне досталось какое-то сложное задание: Написать программу, которая считывает английский текст из файла и выводит на экран слова, начинающиеся с гласных букв. Думаю, следует создать массив со всеми английскими буквами и еще один со знаками препинания. Вот только как это все правильно реализовать? Выручайте!
C++ Найти количество слов начинающихся на букву "а" Всем добрый день. Помогите кто-нибудь с этим заданием: заданая строка символов. Группы символов, которые разделены пропуском и не содержат в себе пропусков, называются словами. Определить количество слов, начинающихся с буквы "а". Заранее очень и очень благодарен. подробнее

Показать сообщение отдельно
usernet009
24 / 24 / 1
Регистрация: 28.12.2009
Сообщений: 85

Возврат указателя на строку из фукнции - C++

12.05.2010, 17:25. Просмотров 1442. Ответов 7
Метки (Все метки)

Снова я пришел к вам со строками.
Читаю "Как программировать на С++" и там везде пишут про инкапсуляцию, сокрытие данных. Так чтоб мы типа создавали класс, и пользователю были доступны только ОТКРЫТЫЕ данные и фунции, а закрытые оставались закрытыми все время.

Так вот... Писал лабораторную работу подруге и встретился с тем, что у меня есть класс, описывающий какой то самолет. Один из закрытых данных этого класса - указатель на строку ( марка самолета ).
тапо такого
C++
1
2
3
4
5
6
7
Class Plane
{
public:
//какие то данные
private:
char *mark;
}
И мне нужно сделать фунцию которая вернула бы эту марку самолета.
Перво что пришло в голову, вернуть указатель на строку, типа вот так
C++
1
char *getMark(){ return mark ;}
НО !! Тогда ведь в программе появится ОТКРЫТЫЙ указатель на ЗАКРЫТЫЕ данные класса, и через него можно будет делать все, что угодно.
Вторая моя идея : создать временную статическую строку в функции, и вернуть указатель на нее. Но, динамически выделить размер строки не получится... это не очень хорошо.
Третья : создать временную динамическую строку в функции и вернуть указатель на нее, но... после использования функции прийдется очищать память оператором delete... это тоже не очень удобно

Почему то я разочаровался в возможности С++... и больше идей у меня не возникло, поэтому решил посоветоваться с вами. Каким образом лучше всего вернуть закрытую строку из класса ?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 20:33. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru