Форум программистов, компьютерный форум 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++ Небольшая мелочь по теории "Какой максимальной длины может быть внешнее имя в программе на С++ в Вашей системе?" - с локальными именами понятно-С++ не накладывает ограничений на размер имён,а что за внешнее имя? Ещё вот недопонимаю вопрос "Нарисуйте граф целых и фундаментальных типов,где от одного типа идёт стрелка к другому,если все значения первого типа могут быть представлены значениями второго в любой... http://www.cyberforum.ru/cpp-beginners/thread31992.html
C++ Задачи на строки и периоды десятичной дроби.
1. Ввести натуральные числа n и m, и напечатать период десятичной дроби m/n, если дробь конечна (до 50 знаков после запятой), то период = 0 2.Получить из слова a, вычёркиванием некоторого кол-ва букв, слова b. Отобразить на экране промежуточные этапы.
C++ C++, операции с динамической памятью.
Есть new и delete. Можно написать так: int *a; a = new int ; Дальше, хотим удалить - пишем delete a; Вопрос такой: а если надо удалить не весь отрезок a..a, а только его "хвост", например a...a - тогда что нужно писать ? (Интересует именно стандартный синтаксис C++, не C).
C++ Сделать вывод и ввод в файл http://www.cyberforum.ru/cpp-beginners/thread31966.html
#include <iostream.h> #include <conio.h> #include <stdlib.h> struct ilist // Создание списочной структуры { float num; // Объявление переменной ilist *next; // Указатель на следующей список };
C++ Генерация чисел Нужно программа для генерации тризначных чисел и таких, что бы в этих числах них не было парных цифр. ТИпу, если число "ХХХ", то "Х" не должно быть парным. подробнее

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