Russian Qt Forum

Qt => Вопросы новичков => Тема начата: arz.maslov от Август 28, 2012, 08:56



Название: Вопросы по наследованию
Отправлено: arz.maslov от Август 28, 2012, 08:56
Сразу прошу прощения если данная тема уже есть.

Возникла проблема.
Ошибка: d:\other\qt\gateway\controllerUDP.h:10: ошибка: C2504: 'Controller' : base class undefined

Код:
//controller.h (базовый класс)

#ifndef CONTROLLER_H
#define CONTROLLER_H

#include <QObject>

class Controller : public QObject
{
    Q_OBJECT

public:
    explicit Controller(QObject *parent = 0);
   
signals:

   
public slots:
    virtual void readMessage() = 0;
    virtual void sandMessage(QString) = 0;
   
};

#endif // CONTROLLER_H

=======================================
Код:
//controller.cpp 

#include "controller.h"

Controller::Controller(QObject *parent) :
    QObject(parent)
{
}

virtual void Controller::sandMessage(QString){

}
virtual void Controller::readMessage(){

}

=======================================
Код:
//controllerUDP.h

#ifndef CONTROLLER_H
#define CONTROLLER_H

#include "controller.h"
#include <QObject>
#include <QUdpSocket>


class ControllerUDP : public Controller
{

private:
    QUdpSocket *socket;
    QHostAddress fromAdr;
    quint16 fromPort;
    quint16 toPort;

public:
    explicit ControllerUDP(QObject *parent = 0);
   
signals:
    void addMessage(QString,QString);
   
public slots:
    void getValue(int,QString,int);
    void readMessage();
    void sandMessage(QString);
   
};

#endif // CONTROLLER_H

=====================================
Помогите, подскажете что не так?)))


Название: Re: Вопросы по наследованию
Отправлено: Serr500 от Август 28, 2012, 09:02
Одинаковые стражи включения в controller.h и controllerUDP.h.


Название: Re: Вопросы по наследованию
Отправлено: Bepec от Август 28, 2012, 09:06
Мб и не пригодится, но всё же ...

Стражи это
Код:
#ifndef CONTROLLER_H
#define CONTROLLER_H
Они должны быть у каждого H файла уникальными.


Название: Re: Вопросы по наследованию
Отправлено: arz.maslov от Август 28, 2012, 09:07
#inclide <QObject> из файла controllerUDP.h убрал, но ошибка так и вылазиет(((


Название: Re: Вопросы по наследованию
Отправлено: Serr500 от Август 28, 2012, 09:08
#inclide <QObject> из файла controllerUDP.h убрал, но ошибка так и вылазиет(((
Вы мой ответ читали?


Название: Re: Вопросы по наследованию
Отправлено: Bepec от Август 28, 2012, 09:09
незря всё таки написал :D Парень, эй, читай сообщеньки :)


Название: Re: Вопросы по наследованию
Отправлено: arz.maslov от Август 28, 2012, 09:15
Пардоньте))) пока писал ответ))))