Форум программистов, компьютерный форум 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++
Тут такая у меня проблема. 1) Не работает цикл в майне. Как его правильно организовать? 2) И, похоже, чтение из файла все-таки, неправильно организовано. 3) И оошшшень хотелось бы поиск в файле как-нить организовать Кто может, помогите или подскажите, пожалуйста) #include<iostream> #include<fstream> #include<iomanip>
C++ двойная буферизация http://www.cyberforum.ru/cpp-beginners/thread329972.html
Здравствуйте. Ребят не сочтите за труд, помогите разобраться. Проблема собственно вот в чём: Пишу тетрис, в окошке находится стакан с фигурами, а на фоне нужно чтобы была некая картинка. Сначала всё сделал с выводом прямо на экран, но столкнулся с миганием окна. Теперь пробую через двойную буферизацию, но, после показа первого расположения падающей фигурки экран совсем не меняется.:wall: Вот...
C++ абстрактный тип данных надо написать на С++... разработать абстрактный тип данных :двусвязный циклический список. атд должен обеспечивать выполнение следующих операций: 1)добавление элемента в список 2)удаление элемента из списка 3)редактирование элемента в списке 4)просмотр нескольких списков 5)объединение нескольких списков 6)определение количества элементов в списке написать демонстрационную программу с... подробнее

Показать сообщение отдельно
kravam
быдлокодер
 Аватар для kravam
1513 / 873 / 44
Регистрация: 04.06.2008
Сообщений: 5,298
06.07.2011, 00:33  [ТС]     Есть класс A и класс B, класс B вложен в класс A и вложен в него, как классу B получить доступ к переменным класса A просто по имени?
Это я всё знаю, Да, знаю. Просто мне необходимо было сделать класс 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 минуту
Ну то есть вы исходите из функциональности класса, я в принципе тоже но ещё исхожу и чтобы был простой интерфейс, вот и парюсь.
 
Текущее время: 05:12. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru