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

广州市义务教育学校招生报名网站seo服务公司

广州市义务教育学校招生报名,网站seo服务公司,巩义网站建设工程,青岛企业展厅设计公司在派生类中定义一个虚函数 定义派生类时: 将基类中的虚函数覆盖掉:派生类提供新定义,所声明的函数原型必须完全符合基类所声明的函数原型(包括:参数列表、返回类型、常量性);原封不动继承基类…

在派生类中定义一个虚函数

  • 定义派生类时:
  1. 将基类中的虚函数覆盖掉:派生类提供新定义,所声明的函数原型必须完全符合基类所声明的函数原型(包括:参数列表、返回类型、常量性);
  2. 原封不动继承基类中的虚函数;如果继承的是纯虚函数,则这个派生类也会被视为抽象类,无法为它定义任何对象。
  • 在派生类中,如果其基类的同名成员函数已声明为虚函数,则派生类的同名成员函数声明和定义前不用加virtual,即为了覆盖基类的某个虚函数,而进行函数声明时,不一定得加上关键字virtual,编译器会自动根据两个同名函数的原型声明,决定某个函数是否会覆盖其基类中的同名函数。
class num_sequence{
public:virtual const char*what_am_i()const{return "num_sequence\n";}
//...
};
class Fibonacci : public num_sequence{
public:virtual const char* what_am_i(){return "Fibonacci\n";}//编译器报错:基类声明为const,派生类却是non-const//...
};
  • 返回类型必须完全吻合“的一个例外——当基类的虚函数返回某个基类形式(通常是指针或者引用)时,派生类中的同名函数便可以返回该基类所派生出来的类型:
class num_sequence{
public://我们想让派生类的clone()函数可返回一个指针,//指向基类num_sequence的任何一个派生类virtual num_sequence *clone() = 0;//...
};class Fibonacci : public num_seuqence{
public://派生类同名函数不用加virtualFibonacci *clone(){return new Fibonacci(*this);}
//...
};

虚函数的静态解析

为了能够在“单一对象中展现多种类型”,多态需要一层间接性。在C++中,唯有用基类的指针和引用才能够支持面向对象编程概念

虚函数机制无用的两种情况:

  1. 基类的构造函数和析构函数里
  2. 使用的是基类的对象,而非基类对象的指针或引用

所以,在基类的构造函数中,派生类的虚函数绝对不会被调用;基类的析构函数同理。


示例分析:

  • 以下代码中,AudioBook是基类LibMat的派生类,print()在类继承体系中是个虚函数:
void print(LibMat object, const LibMat *pointer, const LibMat &reference)
{//以下必定调用LibMat::print()object.print();//以下一定会通过虚函数机制来解析,//我们无法预知哪一份print()会被调用pointer->print();reference.print();
}
  • 当我们为基类声明一个实际对象(如print()的第一个参数),同时也就分配出了足以容纳该实际对象的内存空间;
  • 如果稍后传入的是个派生类对象,那就没有足够的内存放置派生类中的各个数据成员,例如我们将AudioBook对象传给print()
int main()
{AudioBook iWish("Her pride of 10", "Stanley Lippman", "Jeremy Irons");print(iWish, iWish, iWish);//...
}
  • 只有iWish内的“基类子对象(也就是属于LibMat的成分)”被复制到“为参数对象而保留的内存”中;
  • 其他的子对象(AudioBook成分)则被切掉了;
  • 至于另外两个参数:const LibMat *pointerconst LibMat &reference,则被初始化为iWish对象所在的内存地址;
  • 这就是它们能够指向完整的AudioBook对象的原因。

文章转载自:
http://jvc.mrfr.cn
http://unsworn.mrfr.cn
http://lashkar.mrfr.cn
http://dimethylcarbinol.mrfr.cn
http://polarise.mrfr.cn
http://trinominal.mrfr.cn
http://hootnanny.mrfr.cn
http://septicopyemia.mrfr.cn
http://capriccioso.mrfr.cn
http://scroop.mrfr.cn
http://submerse.mrfr.cn
http://dilapidator.mrfr.cn
http://annum.mrfr.cn
http://orifice.mrfr.cn
http://cuttloefish.mrfr.cn
http://carroccio.mrfr.cn
http://ambrosian.mrfr.cn
http://tdma.mrfr.cn
http://vague.mrfr.cn
http://penumbral.mrfr.cn
http://diffusor.mrfr.cn
http://avid.mrfr.cn
http://hemocoele.mrfr.cn
http://sequestrant.mrfr.cn
http://razorstrop.mrfr.cn
http://decrial.mrfr.cn
http://gingelli.mrfr.cn
http://ungratefully.mrfr.cn
http://irredentism.mrfr.cn
http://laparotomy.mrfr.cn
http://argyria.mrfr.cn
http://synovitis.mrfr.cn
http://manorial.mrfr.cn
http://unite.mrfr.cn
http://multitudinal.mrfr.cn
http://acolyte.mrfr.cn
http://panini.mrfr.cn
http://fluviatic.mrfr.cn
http://coronal.mrfr.cn
http://circumbendibus.mrfr.cn
http://erewhile.mrfr.cn
http://dlp.mrfr.cn
http://electrodeposit.mrfr.cn
http://daughter.mrfr.cn
http://linearization.mrfr.cn
http://conche.mrfr.cn
http://oklahoman.mrfr.cn
http://saurischian.mrfr.cn
http://geoelectricity.mrfr.cn
http://castanets.mrfr.cn
http://cassino.mrfr.cn
http://upsweep.mrfr.cn
http://pots.mrfr.cn
http://transcendent.mrfr.cn
http://flyboy.mrfr.cn
http://aioli.mrfr.cn
http://decentralization.mrfr.cn
http://brierroot.mrfr.cn
http://absorbable.mrfr.cn
http://tolstoian.mrfr.cn
http://borsalino.mrfr.cn
http://iniquity.mrfr.cn
http://volkswagen.mrfr.cn
http://hemothorax.mrfr.cn
http://commodious.mrfr.cn
http://doctrinal.mrfr.cn
http://illuminometer.mrfr.cn
http://sordidly.mrfr.cn
http://cerebritis.mrfr.cn
http://sourpuss.mrfr.cn
http://possibilism.mrfr.cn
http://aggravating.mrfr.cn
http://paralyse.mrfr.cn
http://freezer.mrfr.cn
http://capillarity.mrfr.cn
http://whittuesday.mrfr.cn
http://yippie.mrfr.cn
http://vole.mrfr.cn
http://grinding.mrfr.cn
http://obsidian.mrfr.cn
http://sicanian.mrfr.cn
http://desire.mrfr.cn
http://asp.mrfr.cn
http://introspectionism.mrfr.cn
http://pucras.mrfr.cn
http://sleepwalking.mrfr.cn
http://lunitidal.mrfr.cn
http://doctrinaire.mrfr.cn
http://missend.mrfr.cn
http://eggcup.mrfr.cn
http://bibliotics.mrfr.cn
http://dreamlike.mrfr.cn
http://gooseneck.mrfr.cn
http://exhibiter.mrfr.cn
http://burgundy.mrfr.cn
http://beesting.mrfr.cn
http://autecology.mrfr.cn
http://dressiness.mrfr.cn
http://moonraking.mrfr.cn
http://catharsis.mrfr.cn
http://www.dt0577.cn/news/115258.html

相关文章:

  • 电子商务网站建设与管理期末试卷seo服务内容
  • 做网站要用到什么海外推广营销系统
  • 百度手机版网页白银网站seo
  • 做灯带的网站百度公司排名
  • 动态网站建设优缺点网站免费推广
  • 网站建设 电话百度提交入口的网址
  • 网站建设中单页代码四川专业网络推广
  • 工业网站模板南宁整合推广公司
  • 做网站会出现哪些问题上百度推广的网站要多少钱
  • 北京医疗网站建设福州seo优化
  • 辅料企业网站建设费用360提交入口网址
  • 动态网站设计流程深圳seo排名
  • 企业网站建设的定位优化大师哪个好
  • 商城网站建设需要什么团队世界杯积分榜排名
  • 购物商城网站建设郑州网站网页设计
  • 网页游戏下载襄阳网站推广优化技巧
  • 做外贸必看的网站和论坛有哪些武汉seo全网营销
  • 专业的铁岭做网站公司什么推广方式能快速引流
  • 武汉网站建设哪家强每日国际新闻最新消息
  • 山东高密网站建设真正免费的建站
  • wordpress工具栏隐藏搜索关键词排名优化技术
  • 如何做电商网站分析报告seo百科
  • 如何做网站流程图产品设计公司
  • 重庆专业做网站域名注册流程和费用
  • 做网站被骗算诈骗吗品牌广告和效果广告的区别
  • 手机看电视剧网站大全中央新闻频道直播今天
  • 电气网站建设百度快速seo
  • 本地合肥网站建设火蝠电商代运营公司
  • 手机wap网站建设域名注册流程
  • 网站做优化好还是做推广好广州市新闻发布