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

理财p2p网站开发大连金普新区城乡建设局网站

理财p2p网站开发,大连金普新区城乡建设局网站,asp网站设计要求,wordpress多站列表在派生类中定义一个虚函数 定义派生类时: 将基类中的虚函数覆盖掉:派生类提供新定义,所声明的函数原型必须完全符合基类所声明的函数原型(包括:参数列表、返回类型、常量性);原封不动继承基类…

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

  • 定义派生类时:
  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://www.yayakq.cn/news/619060/

相关文章:

  • 设计网站faq需注意wordpress淘宝客主题免费下载
  • 网站推广效果如何wordpress首页添加登录
  • 解决wordpress更改新域名后网站不能访问的问题长沙网站制作一般多少钱
  • 中山网站排名做理财的网站有哪些问题
  • 如何申请电商网站手机怎么制作软件app
  • 建设网站的计划书做网站需要会什么语言
  • 餐饮网站建设服务器北京建设网站专家
  • 网站首页面设计网站开发用盗版犯法
  • 亚马逊做网站发礼物换评价开发app定制公司
  • 东营网站建设怎么建设哪个网站设计素材多
  • 料神wordpress建站教程织梦模板国外网站
  • 织梦网站登录广州专业网站建设哪家好
  • 天津河东做网站贵吗jsp电子商务网站开发源码
  • 建筑网站 法人签字江苏华江建设集团网站
  • 企业建设网站注意点厦门招聘网
  • 做网站后台有前途吗旅游网站开发的结论
  • 网站紧急维护产品推广怎么做
  • 网站设计需要什么技术网站seo入门
  • 深圳建站服务公司深圳甜富设计
  • 鲜花网站设计论文济宁网站建设 水木
  • 工信和信息化部网站大数据精准获客平台
  • 贵州城乡建设官方网站男人女人做性关系网站
  • 音乐网站开发代码地接做的网站
  • 江西省住房和建设规划局局网站下载ppt模板幻灯片模板
  • 360做的网站首页在线平面图设计
  • 网站点击率如何做网站优化建设宁夏
  • 新博念 足球网站开发北京网站建设公司朝阳
  • 自己建立网站教程不用实名认证的网页游戏
  • 网站qq交谈怎么做的物联网模块
  • 求大哥给个狼站2022网站搭建品牌