首页| 论坛| 消息

标题:【提问】关于类继承的问题
作者:chip_7
日期:2006-02-22 05:21
内容:

我 定义了一个类line,继承了QLineEdit,程序如下:
#include
class line:public QLineEdit
{public:
line(QWidget* parent=0,const char* name=0);
};
line::line(QWidget* parent,const char* name)
:QLineEdit(parent,name)
{
}
其实line与原来的QLineEdit一样
但一编译就出错,不知道是哪里有问题,想请大家帮忙!


#1 [vancezhang 02-23 13:15]
应该没错!是不是说没有qMain?加上下面的CODE再编译一下
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
line *l=new line();
app.setMainWidget(l);
l->show();
return app.exec();
}
#2 [zccmin 02-23 19:36]
一楼的说的有道理。不过应该不犯这错误吧!
#3 [chip_7 02-24 05:49]
我知道问题出在哪儿了,
当我把类声明和类成员函数分开写,就不会出现编译问题了,即line.h和line.cpp分开写:
/-----line.h------/
#include
class line:public QLineEdit
{public:
line(QWidget* parent=0,const char* name=0);
};
/-------line.cpp------/
#include "line.h"
line::line(QWidget* parent,const char* name)
:QLineEdit(parent,name)
{
}
如果写在一起并命名为line.h的头文件就会出错:
/-------line.h--------/
#include
class line:public QLineEdit
{public:
line(QWidget* parent=0,const char* name=0);
};
line::line(QWidget* parent,const char* name)
:QLineEdit(parent,name)
{
}
具体还是不明白为什么会这样,还望高手指点!!!
#4 [vancezhang 02-24 07:19]
应该是你的编译器的问题,我用Borland编译就没错。
#5 [XChinux 02-24 16:17]
把头文件和cpp文件分开写即可。
因为moc要处理这两个。

回复 发表
主题 版块