QWidget有三个子类,widget1,widget2,widget3
widget1有函数one();
widget2有函数two();
widget3有函数three();
widget有函数mmm(QWidget *t);
在函数mmm()中实现:
如果传递的指针是widget1类型,执行one()
如果传递的指针是widget2类型,执行two()
如果传递的指针是widget3类型,执行three()
参考:
dynamic_cast
C++强制类型转换操作符 dynamic_cast - 狂奔~ - 博客园 (cnblogs.com)
关键代码:
- void Widget::mmm(QWidget *t)
- {
- if(widget1 * w1=dynamic_cast
(t)){ - w1->one();
- }
- else if(widget2 * w2=dynamic_cast
(t)){ - w2->two();
- }
- else if(widget3 * w3=dynamic_cast
(t)){ - w3->three();
- }
- }