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

Реализация отношения классов типа двунаправленная ассоциация, UML, порядок объявления классов, неполный класс - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Создать матрицу из контейнера std::array http://www.cyberforum.ru/cpp-beginners/thread1090354.html
Есть код: #include <iostream> #include <array> using namespace std; int main () { array <int,5> myarray; return 0;
C++ Опишите код - какая функция за что отвечает? опишите плиз код какая функция за что отвечает? код: #include <stdlib.h> #include <time.h> #include <grx20.h> #include <grxkeys.h> #include <stdio.h> http://www.cyberforum.ru/cpp-beginners/thread1090344.html
В конец каждой строки через пробел добавляется число, которое равно количеству символов в самом длинном слове данной строки C++
помогите с описанием кода какая функция за что отвечает? Следует разработать программу, которая преобразует любой текстовый файл в другой текстовый файл по правилу: В конец каждой строки через пробел добавляется число, которое равно количеству символов в самом длинном слове данной строки код: #include <stdio.h> #include <stdlib.h> #include <ctype.h> #include <assert.h> ...
Хак препроцессора, объясните как работает C++
Уже кучу времени сижу как баран и питаюсь понять, как же это работает: #define BOOK_PP_CAT_IMPL(a, b) a ## b #define BOOK_PP_CAT(a, b) BOOK_PP_CAT_IMPL(a, b) #define BOOK_ID(identifier) BOOK_PP_CAT(auroraDetail_, identifier) #define BOOK_LINE_ID(identifier) BOOK_PP_CAT(BOOK_ID(identifier), __LINE__) #define FOREACH(declaration, container) \ if (bool...
C++ Задано массив строк произвольной длины. Отформатировать данный массив по ширине поля. http://www.cyberforum.ru/cpp-beginners/thread1090322.html
Задано массив строк произвольной длины. Отформатировать данный массив по ширине поля.
C++ Умные указатели Пишу класс дерево поиска:template<typename T, typename Compare> class AvlTree { private: struct Node { T key; size_t height; std::unique_ptr<Node> leftChild; std::unique_ptr<Node> rightChild; explicit Node(const T &key) : key(key), height(1), leftChild(nullptr), подробнее

Показать сообщение отдельно
DrOffset
6448 / 3822 / 885
Регистрация: 30.01.2014
Сообщений: 6,616
06.02.2014, 01:36     Реализация отношения классов типа двунаправленная ассоциация, UML, порядок объявления классов, неполный класс
Цитата Сообщение от rcyn Посмотреть сообщение
Я хотел спросить почему первый вариант не работает и как лучше реализовывать подобные отношения классов.
Спасибо!
В Person у тебя идет обращение к методу класса Car - set_owner. Такое обращение требует полного определения класса, поэтому и не компилируется. Чтобы решить проблему нужно вынести реализацию методов add_car и delete_car в место где полное определение доступно. Если делать с разбиением на h и cpp файлы, то проблема решается сама собой:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
// A.h
class B;
 
class A
{
public:
    void use_of_b();
 
private:
    B * data;
};
 
// B.h
class A;
 
class B
{
public:
    void use_of_a();
 
private:
    A * data;
};
 
// A.cpp
 
#include <A.h>
#include <B.h>
 
void A::use_of_b()
{
    //usage
}
 
//B.cpp
 
#include <B.h>
#include <A.h>
 
void B::use_of_a()
{
    //usage
}
 
Текущее время: 22:07. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru