1 / 1 / 0
Регистрация: 15.12.2016
Сообщений: 55
|
|
1 | |
Взаимодействие между классами12.04.2017, 07:20. Показов 4052. Ответов 4
Метки нет (Все метки)
Суть проблемы такова: в одном файле classy.h объявлено несколько классов (classcontrol, class1, class2,class3). Необходимо сделать так, чтобы все функции классов можно было вызывать в файле срр. Формы через класс classcontrol. Этот класс должен быть интерфейсом для всех остальных классов - через него должно идти всё управление. Как это сделать? Пытался разными способами, но компилятор всё время указывает на ошибку.
class TClassControl { private: // User declarations public: // User declarations __fastcall TClassControl (); __fastcall~TClassControl (void); }; class TCLASS1 { private: // User declarations public: // User declarations __fastcall TCLASS1 (); __fastcall~TCLASS1 (void); int w,h; void __fastcall ClassCreate(); }; class TCLASS2 { private: // User declarations public: // User declarations __fastcall TCLASS2 (); __fastcall~TCLASS2 (void); int w,h; void __fastcall ClassCreate(); }; //Вызов в файле срр. TClassControl * clc = new TClassControl; clc->фукнкция из класса TCLASS1.
0
|
12.04.2017, 07:20 | |
Ответы с готовыми решениями:
4
Взаимодействие между классами Связь между 2 классами Организация общения между классами Указатель на функцию между классами |
7803 / 6567 / 2988
Регистрация: 14.04.2014
Сообщений: 28,706
|
|
12.04.2017, 07:44 | 2 |
А объекты этих классов где будут?
0
|
Каждому свое
533 / 219 / 81
Регистрация: 05.08.2013
Сообщений: 1,614
|
|||||||||||||||||||||
12.04.2017, 08:22 | 3 | ||||||||||||||||||||
Сообщение было отмечено ruccich как решение
Решение
ruccich, Если classcontrol должен управлять классами class1, class2, class3, то соответственно он должен владеть ими.
1
|
8 / 8 / 0
Регистрация: 16.07.2013
Сообщений: 149
|
|
16.10.2019, 11:52 | 4 |
Добрый день, понравилась аккуратность вашего кода, хочу взять его за основу.
Вопрос, если вам не сложно, как дополнить так чтобы, к примеру, из _myClass3 можно было вызывать методы _myClass1? Читал, что такое можно реализовать через передачу указателя на управляющий класс в управляемые классы, но без примера не могу сам понять как.
0
|
Каждому свое
533 / 219 / 81
Регистрация: 05.08.2013
Сообщений: 1,614
|
||||||
08.11.2019, 12:59 | 5 | |||||
Если _myClass3 требуется вызывать методы _myClass1, то значит он зависит, тоесть нужно произвести Dependency Injection. Если _myClass3 НЕ может существовать без _myClass1, то значит это его ИНВАРИАНТ, и такие зависимости лучше всего принимать в конструкторах с проверкой на целостность:
1
|
08.11.2019, 12:59 | |
08.11.2019, 12:59 | |
Помогаю со студенческими работами здесь
5
Передача данных между классами Реализация отношений между классами is-a, has-a, uses-a в С++ Отношения между классами и объектами Передача данных между классами Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |