【发布时间】:2020-08-14 11:06:18
【问题描述】:
我从 Hands On Embedded Programming with Qt 一书中学习 qt。
我不明白为什么当 TemperatureSensorIF 构造函数不需要任何参数时,我可以添加带有 id 参数的 Inheritance m_tempSensor(id),以及为什么我将指针指向“TemperatureSensorIF”作为参数。
完整代码链接:
有类似的东西:
#include <QCoreApplication>
#include <QtDebug>
class TemperatureSensorIF {
public:
explicit TemperatureSensorIF(){
}
};
class MainWindow: public TemperatureSensorIF{
public:
MainWindow(TemperatureSensorIF *id);
//~MainWindow();
private:
TemperatureSensorIF *m_tempSensor;
};
MainWindow::MainWindow(TemperatureSensorIF *id): m_tempSensor(id){
qDebug() << "New window constructor";
}
int main()
{
qDebug() << "Init";
TemperatureSensorIF sensor1;
MainWindow newWindow(&sensor1);
return 0;
}
谢谢 ;)
阿德里安
【问题讨论】:
-
你真的应该让
MainWindow继承TemperatureSensorIF吗?请记住,继承是一种 is-a 关系。MainWindow真的是TemperatureSensorIF吗?还是应该只包含一个TemperatureSensorIF(在某种程度上它也是如此)? -
另请注意,您链接到的代码确实不继承自
TemperatureSensorIF。 -
特别是 MainWindow 应该包含温度传感器和模拟函数以将它们连接在一起。
标签: c++ qt inheritance