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

Связывание классов - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Как массово вывести значения всех элементов структуры? http://www.cyberforum.ru/cpp-beginners/thread1114448.html
В общем есть код #include<iostream> using namespace std; struct part; { int dom; int kvartira; }; int main()
C++ Написать программу, какая переводит числа с арабской системы в римскую Задание: Написать программу, какая переводит числа с арабской системы в римскую. Сам текст программы уже дали в задании, это как вводное задание с ответом, что бы потом спросить что там написано) Как работает сам алгоритм я не понимаю, в этом и проблема. 5 ряд и 22-29 ряды. Не могу разобраться как работает( #include <iostream> #include <stdio.h> #include <conio.h> http://www.cyberforum.ru/cpp-beginners/thread1114433.html
Составить программу обработки матрицы с использованием функций. C++
Составить программу обработки матрицы с использованием функций. Каждый пункт задачи оформить в виде функции Характеристикой столбца целочисленной матрицы назовем сумму модулей его отрицательных нечетных элементов. 1) переставляя столбцы заданной матрицы, расположить их в соответствии с ростом характеристик; 2) найти сумму элементов в тех столбцах, которые содержат хотя бы один отрица¬тельный...
Вычислить площадь четырехугольника, если угол между сторонами длиной X и Y - прямой C++
Даны числа X,Y,Z,T - длины сторон четырехугольника. Вычислить его площадь, если угол между сторонами длиной X и Y - прямой.
C++ В матрице A(8,7) поменять 2-ю и 4-ю строки местами. http://www.cyberforum.ru/cpp-beginners/thread1114422.html
Обработка текстовых файлов. Помогите написать программу. В матрице A(8,7) поменять 2-ю и 4-ю строки местами.
C++ Rand(); генерируем числа в диапазоне С ПРОБЕЛОМ, и еще кое-что 1. Я пытаюсь начинать писать игру-стратегию, в которой генерируется карта. я понимаю, что это невозможно :p но мне интересно покопаться в составляющих этой огромной проблемы. Изначально я хочу создать максимально простой генератор трехуровневой карты через генератор. Скажем, мы заполняем двумерный массив числами 1 и 3, что намекает на высоту клеток, которые будут визуально замещать числа, и... подробнее

Показать сообщение отдельно
SaweR
29 / 29 / 1
Регистрация: 29.09.2009
Сообщений: 177

Связывание классов - C++

09.03.2014, 10:43. Просмотров 530. Ответов 7
Метки (Все метки)

Всем привет. Подскажите, пожалуйста, как решить вот такую проблему:
У меня есть класс connections который хранит в себе все активные соединения типа connection.
Возникает ситуация когда один из множества connection хочет отправить сообщение всем клиентам в классе connections.
Для этого я сделал свойство clients в классе connections статическим, но не могу получить доступ к этому свойству в методе send_to_all() класса connection.
Мне нужно чтобы метод send_to_all() обращался к статическому полю clients класса connections. Если вы знаете обходные пути, то предлагайте.
Исходный код:

main.cpp
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include "Connections.h"
 
int main()
{
    // Создание менеджера соединений
    connections client_manager;
 
    // Имитация подключений
    for(int i = 0; i < 3; i++) client_manager.add();
 
    // Имитация работы функции массовой отправки сообщений
    list<connection>::iterator it = connections::clients.begin();
    (*it).send_to_all();
 
    return 0;
}
Connections.h
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <list>
#include "Connection.h"
using namespace std;
 
 
class connections
{
public:
    static list <connection> clients;
    static void add()
    { 
        connection c;
        clients.insert(clients.end(), c);
    }
};
Connection.h
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <iostream>
#include <list>
using namespace std;
 
class connection
{
public:
    void send_to_all()
    {
        for (list<connection>::iterator it = connections::clients.begin(); it != connections::clients.end(); ++it)
            (*it).send();
    }
    void send(){ cout << "send()"; };
};
Ошибки:
HTML5
1
2
3
4
5
6
\connection.h(12): error C2653: connections: не является именем класса или пространства имен
\connection.h(12): error C2065: clients: необъявленный идентификатор
\connection.h(12): error C2228: выражение слева от ".begin" должно представлять класс, структуру или объединение
1>          тип: 'unknown-type'
\connection.h(12): error C2228: выражение слева от ".end" должно представлять класс, структуру или объединение
1>          тип: 'unknown-type'
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru