C++ Qt中的继承问题

C++ Qt中的继承问题,c++,qt,inheritance,C++,Qt,Inheritance,基本上,我试图将所有内容从摩擦继承到基(或者甚至相反),但是,它并没有标识我放入的类 base.h #ifndef BASE_H #define BASE_H #include <QMainWindow> namespace Ui { class Base; } class Base : public QMainWindow{ Q_OBJECT public: explicit Base(QWidget *parent = 0); ~Base(); pr

基本上,我试图将所有内容从摩擦继承到基(或者甚至相反),但是,它并没有标识我放入的类

base.h

#ifndef BASE_H
#define BASE_H
#include <QMainWindow>

namespace Ui {
   class Base;
}

class Base : public QMainWindow{
  Q_OBJECT

public:
   explicit Base(QWidget *parent = 0);
   ~Base();

private:
   Ui::Base *ui;
};
#endif // BASE_H
base.cpp

#include "friction.h"
#include "base.h"
#include "ui_base.h"

Base::Base(QWidget *parent) :QMainWindow(parent),ui(new Ui::Base){
   ui->setupUi(this);
}

Base::~Base(){
   delete ui;
}
摩擦系数

#include "friction.h"
#include "base.h"
#include "ui_base.h"

Friction::Friction(){
}
最后是main.cpp

int main(int argc, char *argv[]){
  QApplication a(argc, argv);
  Base w;
  w.show();

  Friction f;

  return a.exec();
}
我收到错误“在“{”标记之前预期类名”,我已经尽可能地减少了项目,错误仍然出现,我真的不知道为什么


<>我对C++是相当新的,但是我发现在一个基本的程序中继承不是什么问题,但是当移动到QT时,我似乎无法使它有效。我已经尝试了很多关于改变包含等的事情,因为我完全不知道为什么它没有识别类。

< P>如果摩擦继承了基,比你应该说:

#include "base.h"
在摩擦.h文件中,如下所示:

#ifndef FRICTION_H
#define FRICTION_H

#include "base.h"

class Friction : public Base{ // THIS IS WHERE THE ERROR IS
  public:
Friction();
};

也许你忘了<代码> QyObjult<代码> > <摩擦>代码>哦,非常感谢。抱歉我的无知,我才开始2天前C++。嗯,你应该在学习QT之前学好C++。QT有很强的架构范例,主要是根据<代码> MOC < /代码>可以做的和不能做的,这意味着你可能会学习到一个偏斜和纳罗。w语言观。
#ifndef FRICTION_H
#define FRICTION_H

#include "base.h"

class Friction : public Base{ // THIS IS WHERE THE ERROR IS
  public:
Friction();
};