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

男孩子怎么做网站仿站视频教程

男孩子怎么做网站,仿站视频教程,易语言做网站登陆,有哪些室内设计网站在派生类中定义一个虚函数 定义派生类时: 将基类中的虚函数覆盖掉:派生类提供新定义,所声明的函数原型必须完全符合基类所声明的函数原型(包括:参数列表、返回类型、常量性);原封不动继承基类…

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

  • 定义派生类时:
  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/11864/

相关文章:

  • 三合一商城网站知名网站制作公司青岛分公司
  • 网站顶部地图代码怎么做电脑如何制作网页教程
  • 网站建设客户去哪找网站静态和动态区别是什么
  • 稻壳企业网站模板仿我喜欢网站源码免费
  • 免费网站提供企业网站开发的功能
  • 北京网站制作的公司哪家好网站开发项目心得
  • 网站建设w亿玛酷1负责制作软件需要什么工具
  • 石家庄网站建设策略wordpress inaction
  • 做网站不会P图怎么办网页历史记录在哪里
  • 能在线做国二计算机题目的网站软件工程造价师
  • 海林建设局网站买东西网站有哪些
  • 防城港做网站lnmp搭建网站
  • 校园网站建设方案模板石岩小学网站建设
  • 商业网站自主设计移动网站怎么做优化
  • 郑州市经开区建设局网站信息流广告投放渠道
  • 二级区域网站名网站建设公司人员组成
  • 石家庄营销网站建设多少钱天津seo实战培训
  • 东莞网站建设制作哪家好网站想要被收录要怎么做
  • 公司网站域名cn和com网站建设工作室北京小俊哥
  • 进网站备案建设信用卡分期购物网站
  • 笑话网站 wordpress网页制作公司代码
  • dw网页设计与制作步骤徐州网络优化招聘网
  • 专注东莞微信网站设计linux做网站配置
  • 网站建设计入什么会计科目wordpress增加留言板
  • 网站设计 验收标准wordpress 手机门户
  • 网上提供免费主页空间的网站儿童编程培训机构
  • 费县住房和城乡建设局网站厚街做网站价格
  • form e哪个网站做wordpress mohtml
  • 福建省交通建设质量安全监督局网站临安做网站的公司
  • 南宁网站建设公司哪家专业中山搜索排名提升