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

Непонятки с синтаксисом - C++

Восстановить пароль Регистрация
 
SteeLHeaD
1 / 1 / 0
Регистрация: 05.02.2013
Сообщений: 27
18.03.2013, 17:06     Непонятки с синтаксисом #1
В заголовочном файле мне встретилось такое описание класса:

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
class source_mcast_reciever {
                uint16_t m_port;
                boost::asio::io_service& m_ioservice;
                boost::asio::ip::udp::socket m_socket;
                boost::asio::ip::address m_address;
                boost::asio::ip::udp::endpoint m_remote_endpoint;
                boost::array<char, 1024> m_primary_recv_buffer;
                boost::array<char, 1024> m_secondary_recv_buffer;
                packet_listener& m_listener;
                bool m_primary_buffer;
            public:
                // Объяснение для меня, толькот что проснувшегося:
                // ниже - правильный, не-дефолтный конструктор, который на самом деле делает то, что нужно
                source_mcast_reciever( uint16_t port,
                                      const boost::asio::ip::address_v4& listen_address,
                                      const boost::asio::ip::address_v4& mcast_address,
                                      const boost::asio::ip::address_v4& source_address, boost::asio::io_service& io_service, packet_listener& listener);
                virtual ~source_mcast_reciever() {
                    // TODO:: drop source membership
                    // everything other would kill itself safely
                }
            private:
                void start_recieve( boost::array<char, 1024>& buffer);
                void handle_receive ( const boost::system::error_code& error, std::size_t /*bytes_transferred*/ bytes ) ;
            };
между заголовком класса class source_mcast_reciever и списком паблик - методов перечислено еще несколько переменных.
Вопрос: как они называются и как к ним обращаться?
Потому что даже простейшее присваивание m_port = port; в теле конструктора выдает ошибку
"identifier "m_port" is undefined"
Заранее спасибо!
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11845 / 6824 / 771
Регистрация: 27.09.2012
Сообщений: 16,919
Записей в блоге: 2
Завершенные тесты: 1
18.03.2013, 17:09     Непонятки с синтаксисом #2
Цитата Сообщение от SteeLHeaD Посмотреть сообщение
Вопрос: как они называются и как к ним обращаться?
Обыкновенные члены класса с private видимостью
SteeLHeaD
1 / 1 / 0
Регистрация: 05.02.2013
Сообщений: 27
18.03.2013, 17:47  [ТС]     Непонятки с синтаксисом #3
Цитата Сообщение от Croessmah Посмотреть сообщение
Обыкновенные члены класса с private видимостью
Спасибо большое!
Как я понял, нет никакого сакрального смысла в том, что они не перечислены в блоке "private:",
следующем за "public:".
А все таки - как к ним обращаться?
Потому что все равно среда разработки упорно ругается на любое обращение к m_port, когда я пытаюсь написать конструктор.

Добавлено через 26 минут
Вроде все стало понятно.
Мои ошибки вызваны другим, не обращением к приватным членам класса.
спасибо.
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11845 / 6824 / 771
Регистрация: 27.09.2012
Сообщений: 16,919
Записей в блоге: 2
Завершенные тесты: 1
18.03.2013, 18:26     Непонятки с синтаксисом #4
Цитата Сообщение от SteeLHeaD Посмотреть сообщение
Как я понял, нет никакого сакрального смысла в том, что они не перечислены в блоке "private:"
Они перечислены в блоке private.
Для class по умолчанию видимость private, для struct - public
Yandex
Объявления
18.03.2013, 18:26     Непонятки с синтаксисом
Ответ Создать тему
Опции темы

Текущее время: 05:34. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru