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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Satansoft
8 / 8 / 1
Регистрация: 27.02.2012
Сообщений: 724
#1

Взаимодействие между классами - C++

26.11.2014, 01:50. Просмотров 575. Ответов 4
Метки нет (Все метки)

При попытке создать указатель на объект класса в public секции другого класса из которого будет обращение к его методу...

C++
1
Cook *cok
пишет, что Cook - не существующий тип...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.11.2014, 01:50
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Взаимодействие между классами (C++):

Взаимодействие между классами - C++
Суть проблемы такова: в одном файле classy.h объявлено несколько классов (classcontrol, class1, class2,class3). Необходимо сделать так,...

Связь между 2 классами - C++
Есть 2 класса: Class A { private: B** arrayB;/нужно раньше объявить класс И ... }; A* Object

Организация общения между классами - C++
Использую следующую конструкцию. Есть общий класс , назовем его ядро(Core) от него идут 2 след класса Graphics и Data. Задача следующая...

Передача данных между классами - C++
Понимаю что это основы, но что-то я запутался... Есть основной класс программы MainWindow. Есть другой класс (назовем его MyClass). В...

Отношения между классами и объектами - C++
Для каждого индивидуального варианта необходимо создать консольную программу на С++, реализующую отношение ассоциации (агрегации или...

Реализация отношений между классами is-a, has-a, uses-a в С++ - C++
Где можно найти информацию по отношениям между объектами классов is-a, has-a, uses-a и и их реализация средствами С++. В инете очень мало...

4
Croessmah
Эксперт CЭксперт С++
13415 / 7566 / 855
Регистрация: 27.09.2012
Сообщений: 18,625
Записей в блоге: 3
Завершенные тесты: 1
26.11.2014, 04:01 #2
ну так при объявлении класс Cook должен быть известен в этом месте. Для указателей и ссылок достаточно forward declaration сделать:
C++
1
class Cook ;//или что там у Вас есть Cook
Там, где будет
Цитата Сообщение от Satansoft Посмотреть сообщение
обращение к его методу...
должна быть известна уже структура самого класса, то бишь должно быть доступно его описание:
C++
1
2
3
4
5
class Cook
{
   Cook (/*бла-бла-бла*/) ;
   //бла-бла-бла
};
1
TheCalligrapher
С чаем беда...
Эксперт CЭксперт С++
3875 / 2133 / 548
Регистрация: 18.10.2014
Сообщений: 3,748
26.11.2014, 04:16 #3
Цитата Сообщение от Satansoft Посмотреть сообщение
пишет, что Cook - не существующий тип...
Ну раз пишет - значит несуществующий. В языке С++ все надо объявлять перед использованием. Если вы не объявили типа 'Cook', то он будет "несуществующим".
0
Satansoft
8 / 8 / 1
Регистрация: 27.02.2012
Сообщений: 724
26.11.2014, 16:13  [ТС] #4
То есть в разделе Public/Private/Protected объявить Class Cook, подключить *.h этого класса и можно обращаться к его методам? А указатель на класс не обязателен?
0
aLarman
642 / 563 / 89
Регистрация: 13.12.2012
Сообщений: 2,109
26.11.2014, 16:27 #5
в хедере
C++
1
2
3
4
5
6
7
8
9
10
11
class Cook;
 
class MyClass
{
public:
MyClass(){}
void registerCook(Cook * cook);
void method();
private:
Cook * _cook;
};
в срр-шнике
C++
1
2
3
4
5
6
7
8
9
10
11
#include "MyClass.h"
#include "Cook.h"
 
void MyClass::registerCook(Cook * cook)
{
_cook = cook;
}
void MyClass::method()
{
_cook->method()//вызво метода класса Сook
}
Добавлено через 2 минуты
ну и использовать так
C++
1
2
3
4
5
6
7
8
9
10
11
12
#include "MyClass.h"
#include "Cook.h"
 
Cook * cook = new Cook;
MyClass * my = new MyClass;
 
my->registerCook(cook);
 
my->method();
 
delete cook;
delete my;
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.11.2014, 16:27
Привет! Вот еще темы с ответами:

Отличия между структурами и классами - C++
Объясните пожалуйста, в С++, получается, что структура отличается от класса только тем, что у нее по умолчанию все данные public? Т.е....

Передача данных между классами - C++
Здравствуйте! Программирую графику на C++ под DirectX9, если точнее то пытаюсь написать простой редактор 3D графики. есть класс...

Передача std::vector между классами - C++
Класс Data служит для инициализации переменных. Класс А - для обработки данных. В классе А меняются данные в контейнере std::vector (размер...

Программа в которой реализируется взаимодействия между классами - C++
Здравствуйте. Помогите разобраться, как написать программу в которой нужно реализовать взаимодействия между классам на С++.


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Yandex
Объявления
26.11.2014, 16:27
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru