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

网络优化网站建设学习自媒体代运营

网络优化网站建设学习,自媒体代运营,网站标题设置,网站做ppt模板下载地址文章目录 子类指针,父类指针分别调用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/203188.html

相关文章:

  • 网站 做 专家问答网络广告投放平台
  • 网站出售上海哪家优化公司好
  • 网站建设规划公司南宁百度seo排名价格
  • 福州网站建设设计公司沪深300指数怎么买
  • 做3ds磁铁卡网站如何开通网站
  • 发布设计任务的网站seo排名技巧
  • wordpress 课如何优化培训体系
  • 江苏网站快速排名优化百度app下载安装 官方
  • 深圳品牌做网站中国最新领导班子
  • 网站开发的在线支付功能网络营销推广策划的步骤
  • 做网站电话免费十大软件大全下载安装
  • 网站建设的发票怎么做会计分录seo关键词优化排名哪家好
  • 医院网站怎么做优化排名靠前百度人工客服在线咨询电话
  • 湖南门户网站设计公司营销推广渠道
  • 深圳网站建设多少钱软件定制开发公司
  • 临沂医院网站建设太原关键词优化报价
  • 专业营销型网站定制营销型企业网站有哪些
  • 如何申请深圳设计公司网站哈尔滨seo推广
  • 合肥 做网站的线上营销推广渠道
  • 浙江温州城乡建设网站外贸建站服务推广公司
  • 国家住房和城乡建设部中国建造师网站官网公司网站建设平台
  • 那个网站做玉石最专业洛阳网站建设
  • 对于做房产做网站的感悟seo网站推广seo
  • 自己做的网站添加域名友情链接发布
  • 企业建设网站的必要性神马网站快速排名案例
  • 网站的建设进度表关键词优化是什么
  • 福州电子商务网站百度 搜索热度
  • 装修工人seo关键词优化服务
  • 公司做网站图片广州网络推广
  • 网站模板如何使用 如何修改吗百度关键词竞价价格