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

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

Войти
Регистрация
Восстановить пароль
 
SteeLHeaD
1 / 1 / 0
Регистрация: 05.02.2013
Сообщений: 27
#1

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

18.03.2013, 17:06. Просмотров 275. Ответов 3
Метки нет (Все метки)

В заголовочном файле мне встретилось такое описание класса:

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"
Заранее спасибо!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.03.2013, 17:06
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Непонятки с синтаксисом (C++):

Очередные непонятки с синтаксисом - C++
Я вожусь с классом, хидер которого выглядит так: class source_mcast_reciever { uint16_t m_port; ...

Помогите с синтаксисом - C++
Есть некий класс SomeClass. В процессе выполнения программы появляется неизвестное количество его экземпляров. Нужно собирать указатели на...

Записать формулу синтаксисом C++ - C++
срочно надо записать формулу в с++ x^2-2ln(x-1)

Записать формулы синтаксисом C++ - C++
x^5\,ctg(2x^3)\\ \sqrt{x^4+3}\\ \left|sin^2x+1 \right|^{2x}

Записать формулу синтаксисом С++ - C++
Помогите записать в C++ формулу! ln\left(y^{-\sqrt{\left|x+1 \right|}} \right)\cdot sin^2\,arctg\,z

не могу разобраться с синтаксисом - C++
известен код программы, но не могу разобраться что к чему. если не трудно объясните что означает каждая строчка. заранее спасибо. ...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Croessmah
Модератор
Эксперт CЭксперт С++
13139 / 7402 / 829
Регистрация: 27.09.2012
Сообщений: 18,243
Записей в блоге: 3
Завершенные тесты: 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
Модератор
Эксперт CЭксперт С++
13139 / 7402 / 829
Регистрация: 27.09.2012
Сообщений: 18,243
Записей в блоге: 3
Завершенные тесты: 1
18.03.2013, 18:26 #4
Цитата Сообщение от SteeLHeaD Посмотреть сообщение
Как я понял, нет никакого сакрального смысла в том, что они не перечислены в блоке "private:"
Они перечислены в блоке private.
Для class по умолчанию видимость private, для struct - public
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.03.2013, 18:26
Привет! Вот еще темы с ответами:

Записать выражение синтаксисом С++ - C++
Подскажите как записать пример \huge V=\frac{\sqrt{e^{x^2}}-\sqrt{\left|x^3 \right|}}{arctg\left(lg\left| x-1.8\right| \right)}\\ ...

Записать формулу синтаксисом C++ - C++
8{x}2-2{х}+4 вот с 82-2+4 понятно 8*pow(floor(x),2); а как с {} такими скобками?помогите

Записать выражение синтаксисом С++ - C++
Надо преобразовать выражение на язык с++ вот что получилось, функция с куб.корнем считается отдельно правильно, а сама полная функция...

Записать формулу синтаксисом С++ - C++
Здравствуйте. Есть пример такого вида d=tg^2\,\frac{m}{m+3}\,\times\,w. Как его решить в визуал студио?


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

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

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