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

Запутался в классах (( - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Как перевести Handle http://www.cyberforum.ru/cpp-beginners/thread31998.html
Долгое время думал что переводится как дескрптор, пока не увидел следующее:Handles and descriptors are opaque data structures which are defined in OCI applications. Т.е. явно дескриптор это дескриптор, а вот что такое handle. Лингво вразумительного ответа не дает. КАкая-то управляющая штука. И если не сложно приведите пример)) Спасибо.
C++ Работа с файлами Народ ниид хелп Создается тхт файл. куда записывается информация вводимая с клавы. инфа: Имя фамилия группа айди_номер возраст я так понимаю это используя записи. Записей не более 15 в файл сейв только имя, айди, группа стирание функция должна быть. http://www.cyberforum.ru/cpp-beginners/thread31997.html
C++ Небольшая мелочь по теории
"Какой максимальной длины может быть внешнее имя в программе на С++ в Вашей системе?" - с локальными именами понятно-С++ не накладывает ограничений на размер имён,а что за внешнее имя? Ещё вот недопонимаю вопрос "Нарисуйте граф целых и фундаментальных типов,где от одного типа идёт стрелка к другому,если все значения первого типа могут быть представлены значениями второго в любой...
C++ Задачи на строки и периоды десятичной дроби.
1. Ввести натуральные числа n и m, и напечатать период десятичной дроби m/n, если дробь конечна (до 50 знаков после запятой), то период = 0 2.Получить из слова a, вычёркиванием некоторого кол-ва букв, слова b. Отобразить на экране промежуточные этапы.
C++ Меню http://www.cyberforum.ru/cpp-beginners/thread31979.html
Народ помогите написать менюшку.. типо: Start Options Exit Я могу написать только чтением с клавы 1start 2options 3exit А мне надо типо стока бегал, фоном как-то..
C++ Операции с динамической памятью Есть new и delete. Можно написать так: int *a; a = new int ; Дальше, хотим удалить - пишем delete a; Вопрос такой: а если надо удалить не весь отрезок a..a, а только его "хвост", например a...a - тогда что нужно писать ? (Интересует именно стандартный синтаксис C++, не C). подробнее

Показать сообщение отдельно
Deicider
96 / 52 / 1
Регистрация: 18.03.2009
Сообщений: 273
29.04.2009, 09:30     Запутался в классах ((
Цитата Сообщение от tatsu Посмотреть сообщение
Проблема в том что массив находиться в классе лабиринта и класс мыши этот массив не знает. Как правильнее передать данные массива из одного класса в другой?
Просто передать указатель на массив и его размеры мыши или нет???
.....
Ведь вроде бы массив при выходе из функции удалиться или я не прав??
В классе лабиринт создавай массив в динамической памяти и тогда в класс мыши передавай указатель на него. Если так делать, то массив будет существовать всё время жизни программы (если ты его сам не удалишь ранее).
Но такой подход, как ты заметил, "не есть хорошо", так как нарушается один из принципов объектно-ориентированного программирования, а именно, инкапсуляция.
Можно сделать что-то в таком духе: в классе лабиринта реализовать функцию, которая будет выдавать информацию о том месте, где стоит мышь, а именно: в функцию передаются координаты мыши, а возвращается 4 значения (можно реализовать посредством передачи в функцию ссылок, либо посредством битовых операций, устанавливая соответствующие биты в возвращаемом значении), например: в клетке справа - стенка, слева - проход, спереди - стенка, сзади - проход (то есть мышь может сделать шаг либо налево, либо назад). Таким образом мышь сможет получать инфу о лабиринте, не имея доступа к непосредственно массиву.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru