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

Есть класс A и класс B, класс B вложен в класс A и вложен в него, как классу B получить доступ к переменным класса A просто по имени? - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Создать класс время с данными-членами часы, минуты, секунды http://www.cyberforum.ru/cpp-beginners/thread330022.html
отучилась на программиста уже год, но пока что как-то тяжко с заданиями, тем более с классами, не успели пройти их... помогите пожалуйста решить Создать класс время с данными-членами часы, минуты,...
C++ Как послать своё сообщение другому приложению? #define WM_MYMESSAGE 2000 void main() { HWND hWnd; hWnd = ::FindWindow(NULL,"MyApp"); ::SendMessage(hWnd,WM_MYMESSAGE,0,0); } http://www.cyberforum.ru/cpp-beginners/thread330016.html
C++ Класс "Студент", реализовать динамический список "Группа студентов"
реализовать динамический список " группа студентов". Узел: -группа -фамилия Функции списка: -добавление по алфавиту -удаление указанного -очистка списка -поиск студента -печать...
Связь указателей и одномерных массивов. Динамический одномерный массив C++
Ребят помогите написать программу.В пятницу срочно надо сдать! Требования и общие указания к заданиям: • разработать класс для работы с одним или несколькими одномер-ными динамическими массивами,...
C++ Чтение из файла, запись в файл http://www.cyberforum.ru/cpp-beginners/thread329979.html
Тут такая у меня проблема. 1) Не работает цикл в майне. Как его правильно организовать? 2) И, похоже, чтение из файла все-таки, неправильно организовано. 3) И оошшшень хотелось бы поиск в файле...
C++ двойная буферизация Здравствуйте. Ребят не сочтите за труд, помогите разобраться. Проблема собственно вот в чём: Пишу тетрис, в окошке находится стакан с фигурами, а на фоне нужно чтобы была некая картинка. Сначала... подробнее

Показать сообщение отдельно
kravam
быдлокодер
1695 / 882 / 45
Регистрация: 04.06.2008
Сообщений: 5,471
06.07.2011, 00:33  [ТС]
Это я всё знаю, Да, знаю. Просто мне необходимо было сделать класс diagonal не отдельно от matrix, а встроенным в него. И поскольку я чувствую недоверие к собственным решениям, придётся объяснить и это, мне это надо было чтобы программировать так:

C++
1
2
matrix m;
m.diagonal_ [2][3]= 99;
Всё, третьему элементу второй диагонали присваивается значение 99. Всё просто. А вся эта бодяга из-за того началась, что я не хочу хранить диагонали как массив векторов, а хочу использовать хитрую формулу, которая переводила бы диагональные координаты в матричные.

То есть тут сперва одна перегрузка [] срабатывает, потом другая [], в результате последней должна вызваться функция:
f_perevod_kkoordinat(koordinati* koordinati_, 2, 3) (обратите внимание на аргументы)

Так, эта функция исходя из диагональных координат 2, 3 (вторая диагональ, третий элемент) заполнит структурку
C++
1
2
3
strucr koordinati {
 int x; int y;
}
где x- номер строки, y- номер столбца матрицы, после чего вызывается:
C++
1
T& get_element_matritsi (x, y);
/////////////////////////////////////////////////////////////////////////////////

Проще можно сделать так,такой интерфейс
1)[CPP]m.diagonal_ (2, 3)= 99;/CPP]
угу? Но мне охота по другому. Классический синтаксис чтобы был!

2)Или можно было скропать массив диагоналей, а потом перегрузить оператор [], получив адрес вектора, а потом взять его элемент. И это бы я сделал. Но я массив диагоналей кропать не хочу, а хочу использьвать изящную формулку (я её уже наваял) перевода диагональных координат в стандартные матричные.

И вообще тяжело в ученье легко в бою, упражнения должны быть трудны, иначе грош им цена. Ну и конечно, реалистичны, но о последнем я судит не могу, ибо их сам придумываю, а потом разбираюсь, а реализуемы ли они вообще ли нет.

Добавлено через 6 минут
Кстати, я с самого начала исхожу из интерфейса, наверное, это неправильно?

Добавлено через 1 минуту
Ну то есть вы исходите из функциональности класса, я в принципе тоже но ещё исхожу и чтобы был простой интерфейс, вот и парюсь.
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru