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

枣庄市网站建设跨境电商亚马逊开店流程

枣庄市网站建设,跨境电商亚马逊开店流程,企业宣传片文案范文,阿里云wordpress更新文章目录 子类指针,父类指针分别调用virtual函数,与非virtual函数虚函数中尽量不要使用默认参数!!! 子类指针,父类指针分别调用virtual函数,与非virtual函数 virtual函数,通过指针调…

文章目录

  • 子类指针,父类指针分别调用virtual函数,与非virtual函数
  • 虚函数中尽量不要使用默认参数!!!

子类指针,父类指针分别调用virtual函数,与非virtual函数

virtual函数,通过指针调用的是子类函数
非virtual函数,取决于指针的类型

class Person {
public:void Print(){cout << "Person" << endl;}virtual void VirtualPrint(){cout << "VirtualPrint Person" << endl;}
};class Studen : public Person {
public:void Print(){cout << "Student" << endl;}virtual void VirtualPrint(){cout << "VirtualPrint Student" << endl;}
};int main()
{Person *p = new Studen();Studen *s = new Studen();p->Print();     // Persons->Print();     // Studentp->VirtualPrint();  // VirtualPrint Students->VirtualPrint();  // VirtualPrint Studentreturn 0;
}

虚函数中尽量不要使用默认参数!!!

class Father {
public:void func1(int val = 100){cout << "Father \t: func1" << "\t" << val << endl;}virtual void func2virtual(int val = 100){cout << "Father \t: func2" << "\t" << val << endl;}
};class Son : public Father {
public:void func1(int val = 200){cout << "Son \t: func1" << "\t" << val << endl;}virtual void func2virtual(int val = 200){cout << "Son \t: func2" << "\t" << val << endl;}
};

当指针类型与实体类型一致时,很容易分清楚其调用规则

void group1()
{Father *f = new Father();Son *s = new Son();f->func1();s->func1();// Father  : func1 100// Son     : func1 200f->func1(300);s->func1(300);// Father  : func1 300// Son     : func1 300f->func2virtual();s->func2virtual();// Father  : func2 100// Son     : func2 200f->func2virtual(300);s->func2virtual(300);// Father  : func2 300// Son     : func2 300
}

当指针类型与实体类型不一致时,很不容易分清楚其调用规则
在virtual函数中使用默认参数,因为virtual是动态绑定,导致都是调用了子类函数,但是默认参数是根据指针类型来使用的

void group2()
{Father *f = new Son();Son *s = new Son();f->func1();s->func1();// Father  : func1 100// Son     : func1 200f->func1(300);s->func1(300);// Father  : func1 300// Son     : func1 300// virtual func use dynamic func, but use ptr default args// 重点处f->func2virtual();s->func2virtual();// Son     : func2 100// Son     : func2 200// virtual func use dynamic func, use given argsf->func2virtual(300);s->func2virtual(300);// Son     : func2 300// Son     : func2 300
}
http://www.dtcms.com/a/525008.html

相关文章:

  • 做网站还有市场吗苏州住建网站
  • 网站仿做软件wordpress 页面显示最新文章
  • C# 取消机制(CancellationTokenSource/CancellationToken)
  • 散列查找及性能分析的应用
  • 百日挑战之单词篇(第二天)
  • 香港首位范·克莱本国际钢琴大赛冠军 沈靖韬 签约环球音乐 即将推出全新独奏专辑
  • 网站托管工作室wordpress防止f12
  • 传播网站建设建筑涂料网站设计
  • 详解C++中的字符串流
  • 中建西部建设广通讯网站小程序制作需要多少钱一个
  • 石家庄有哪些公司可以做网站南通网站优化找哪家
  • 全面掌握PostgreSQL关系型数据库,pgAdmin 图形化客户端,笔记12
  • 怎么做地方门户网站桂林市区
  • (论文速读)开放词汇3D场景理解的掩蔽点-实体对比
  • 做网站是经典网站设计作品
  • C++进阶:继承
  • 网站 建设运行情况网站移动转换
  • 如何上传ftp网站程序普像工业设计网站
  • 做响应式网站的公司如何做与别人的网站一样的
  • pytorch下对各种超参调整效果
  • 做网站会遇到的问题title 镇江网站建设
  • 怎么做网站底部版权信息在哪可以接企业网站建设的活
  • 聊城网站建设服务好赣州网站制作较好的公司
  • 今日行情明日机会——20251024
  • pip常用命令
  • 杂志网站建设推广方案好的设计作品网站
  • 多语言外贸网站开发wordpress 谷歌地图
  • 简单的电商网站开发网站建设的本质
  • 建行官方网站首页黄页网络的推广
  • 【力扣Hot100】刷题日记