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

郑州网站建设兄长好谷歌seo关键词排名优化

郑州网站建设兄长好,谷歌seo关键词排名优化,阜阳市住房和城乡建设局网站,自己做网站和外包文章目录 子类指针,父类指针分别调用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/wzjs/476758.html

相关文章:

  • 云浮新兴哪有做网站的上海最大的seo公司
  • 贵阳app开发制作北京网站优化经理
  • 北京制卡厂家做卡公司北京制卡网站_北京制卡_北京 去114网制作公司网站
  • 网站功能与建设特色东莞网站推广策划
  • 网站规划 评价2345王牌浏览器
  • 烟台高端网站建设seo网站快排
  • app免费制作软件中文版宁波怎么优化seo关键词
  • js 捕获网站异常插件品牌营销策划方案范文
  • 罗湖附近网站建设公司seo站长工具平台
  • 在国外的网站做推广二十条优化措施
  • 安阳 做网站技术培训机构排名前十
  • 网站建设需要多少技术不限次数观看视频的app
  • 做公司企业网站百度网首页
  • 安徽省外经建设集团有限公司网站快速建站
  • word网站超链接怎么做学生个人网页设计模板
  • 千万pv网站开发成本真正免费的网站建站平台有哪些
  • 网站建设套路网站推广郑州
  • 清河网站建设费用百度关键词相关性优化软件
  • 动画型网站淘宝搜索关键词排名
  • 网站开发参考文献期刊百度网站大全旧版
  • 查询网站是否过期吉林关键词优化的方法
  • 软件开发培训机构怎么样盐城网站优化
  • 网站域名做入什么科目2023年重大时政热点
  • 做网站做系统优秀软文案例
  • 哪里做网站百度收录块网页设计软件dreamweaver
  • 做网站需要多少钱百度网页版入口
  • 网站风格设计的选择武汉seo优化服务
  • 网站开发 工资高吗免费b2b网站有哪些
  • 推荐网站建设的书网络营销知识点
  • 无锡企业自助建站系统电商运营平台