当前位置: 首页 > news >正文

太原网站建设技术外包推广手机卡返佣平台

太原网站建设技术外包,推广手机卡返佣平台,上海网站建设找哪家公司,小程序开发流程详解简介 在C中#xff0c;纯虚函数是一个在基类中声明但没有实现的虚函数。纯虚函数的声明以 “ 0” 结尾。纯虚函数的目的是为了提供一个接口#xff0c;但是不提供实现。派生类必须实现纯虚函数#xff0c;否则它也会成为一个抽象类。纯虚函数可以在基类中定义#xff0c;也…简介 在C中纯虚函数是一个在基类中声明但没有实现的虚函数。纯虚函数的声明以 “ 0” 结尾。纯虚函数的目的是为了提供一个接口但是不提供实现。派生类必须实现纯虚函数否则它也会成为一个抽象类。纯虚函数可以在基类中定义也可以在派生类中定义。纯虚函数用于创建抽象类抽象类不能直接创建对象只能作为基类来为派生类提供接口。派生类必须实现纯虚函数否则派生类也会成为抽象类。 引入原因 为了实现C的多态 抽象类 包含纯虚函数的类称为抽象类。抽象类是一种特殊的类它是为了抽象和设计的目的为建立的它处于继承层次结构的较上层。 抽象类的作用 抽象类的主要作用作为接口由它来为派生类提供一个公共的根在派生类中具体实现。所以派生类实际上刻画了一组子类的操作接口的通用语义这些语义也传给子类子类可以具体实现这些语义也可以再将这些语义传给自己的子类。 使用抽象类时注意 抽象类只能作为基类来使用其纯虚函数的实现由派生类给出。如果派生类中没有重新定义纯虚函数而只是继承基类的纯虚函数则这个派生类仍然还是一个抽象类。如果派生类中给出了基类纯虚函数的实现则该派生类就不再是抽象类了它是一个可以建立对象的具体的类。 示例代码如下 #include iostream using namespace std;class Shape {protected:int width, height;public:virtual int area() 0; // 纯虚函数void setWidth(int w) {width w;}void setHeight(int h) {height h;} };class Rectangle: public Shape {public:int area() {return width * height;} };class Triangle: public Shape {public:int area() {return (width * height) / 2;} };int main() {Rectangle rect;Triangle tri;rect.setWidth(5);rect.setHeight(7);cout 矩形的面积 rect.area() endl;tri.setWidth(5);tri.setHeight(7);cout 三角形的面积 tri.area() endl;return 0; }在上面的示例中Shape是一个抽象类它有一个纯虚函数area()。Rectangle和Triangle是Shape的派生类它们必须实现纯虚函数area()。在main函数中我们创建了Rectangle和Triangle的对象并调用它们的area()函数来计算面积。 Qt_纯虚函数的信号和槽 #include mainwindow.h #include ui_mainwindow.hMainWindow::MainWindow(QWidget *parent): QMainWindow(parent), ui(new Ui::MainWindow) {ui-setupUi(this);Obj new BClass();QObject::connect(Obj, AClass::signalPureVirtualFunction, [](){std::cout in 1 std::endl;}); }MainWindow::~MainWindow() {delete ui; }void MainWindow::on_pushButton_clicked() {Obj-pureVirtualFunction(); } #ifndef MAINWINDOW_H #define MAINWINDOW_H#include QMainWindow #include iostream QT_BEGIN_NAMESPACE namespace Ui {class MainWindow; } QT_END_NAMESPACEclass AClass : public QObject {Q_OBJECT public:virtual void pureVirtualFunction() 0;signals:void signalPureVirtualFunction(); };class BClass : public AClass {Q_OBJECT public:void pureVirtualFunction() override{std::cout send std::endl;emit signalPureVirtualFunction();} };class MainWindow : public QMainWindow {Q_OBJECTpublic:MainWindow(QWidget *parent nullptr);~MainWindow();private slots:void on_pushButton_clicked();private:Ui::MainWindow *ui;AClass *Obj; }; #endif // MAINWINDOW_H
http://www.zqtcl.cn/news/305982/

相关文章:

  • asp评价网站开发文档福州做网站的哪家好
  • 合肥网站建设方案优化写作网站大全
  • 专门提供做ppt小素材的网站网站定位
  • 临沂市建设局兰山区网站wordpress 去除下划线
  • 如何做一张图片的网站关于实验室建设的英文网站
  • 网站建设文本居中代码山东网站推广营销设计
  • 山东桓台建设招投标网站北京建设信息港网站
  • 为什么网站要域名个人养老金制度最新消息
  • 公众号开发是不是网站开发公司网站建设分录
  • 云南省住房建设厅网站代理二级分销系统
  • 四川建设人才培训网站临沂网站制作页面
  • 用vue做网站建设工程合同属于什么合同
  • 赶集的网站怎么做广告投放报价
  • php 家政网站白嫖云服务器
  • 长春网站关键词推广优秀网站建设哪个公司好
  • php实战做网站视频教程站长工具网站测速
  • 当下网站建设常见的网址有哪些
  • 洪雅网站建设事业单位门户网站建设包含内容
  • 外网如何查看局域网建设的网站区块链开发工程师要求
  • 网站首页三张海报做多大怎么做网上直营店网站
  • 网站制作新手教程视频省建设厅网站安全生产标准化
  • 自动建设网站系统阿里云虚拟主机多网站
  • 区块链app排名网站seo其应用
  • 海口网站建设咨询一般网站建设需求有哪些方面
  • 免费网站建设朋友交流模板王网站
  • wordpress不同分类不同广告 文章属于不同分类网站 优化手机版
  • 淮安市建设银行网站首页王也是谁
  • 好用的网站管理系统给wordpress程序提速
  • 网页设计模板的网站网站开发包括哪些
  • 做网站的标准国外html5网站模板