Начало
Блог
Wiki
Помощь
Поиск
Войти
Регистрация
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
Войти
QNX.ORG.RU
>
Разработка
>
Языки и алгоритмы
>
Немного непоняток с наследованием классов
Страниц: [
1
]
« предыдущая тема
вверх
следующая тема »
Печать
Автор
Тема: Немного непоняток с наследованием классов (Прочитано 4002 раз)
Fregl
Sr. Member
Offline
Сообщений: 396
Немного непоняток с наследованием классов
«
:
Октября 20, 2008, 03:26:24 pm »
Добрый день.
Давно не приходилось работать с наследованием классов, но вот столкнулся с проблемой, которую хотелось бы как то решить или понять где я ошибаюсь.
Есть два класса, CSocket - базовый класс для сокетов и CPCPSocket - уже реализация клиента tcp.В базовом классе я определил 2 функции Receive & Send - получить/отправить данные - по сути вызывается recv/send и возвращается количество отправленных/полученных данных.
В унаследованном классе клиента я переопеределяю эти функции, в которые я уже добавляю разного рода проверки и т.п.а уж потом делаю чтение/запись в сокет.
Так вот, интересно получается, что когда я вызываю методы класса клиента, на самом деле вызываются методы базового класса. Хотя в хедерах я объявил и у того и у того класса эти методы, почему то вызываются методы чтения/записи базового класса, в котором никаких проверок нет и прога вылетает если сокет не подсоединен к серверу.
Записан
Fregl
Sr. Member
Offline
Сообщений: 396
Немного непоняток с наследованием классов
«
Ответ #1 :
Октября 20, 2008, 03:27:36 pm »
проверку в базовый класс не хочу вводить, так как на его основе думаю еще сделать класс сервера, механизм которого немного отличается от клиента
Записан
Fregl
Sr. Member
Offline
Сообщений: 396
Немного непоняток с наследованием классов
«
Ответ #2 :
Октября 20, 2008, 03:31:28 pm »
кажется я понял в чем ошибся,
надо было объявить CSocket как абстрактный, потому что я делал ссылку на базовый объект, хотя потом обращался к нему как к клиенту...
Записан
Fregl
Sr. Member
Offline
Сообщений: 396
Немного непоняток с наследованием классов
«
Ответ #3 :
Октября 20, 2008, 03:32:11 pm »
как удалить эту тему
?
поспешил немного
Записан
Страниц: [
1
]
Печать
« предыдущая тема
вверх
следующая тема »
Перейти в:
Пожалуйста, выберите назначение:
-----------------------------
Разработка
-----------------------------
=> Программирование под QNX
=> Программирование под QNX 4.x
=> Разработка графических приложений
=> Перенос приложений в QNX
=> Встраиваемые системы
=> Программирование под UNIX
=> Языки и алгоритмы
-----------------------------
Установка и настройка
-----------------------------
=> Установка и настройка
=> Программное обеспечение
=> Поддержка аппаратного обеспечения в QNX
-----------------------------
BlackBerry
-----------------------------
=> BlackBerry
-----------------------------
Общее
-----------------------------
=> Источники информации
=> Ошибки в QNX 6
=> Статьи
=> Работа
=> Проект QNX.ORG.RU
=> Общение