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

东莞外贸网站建设工程建设公司官网

东莞外贸网站建设,工程建设公司官网,网站制作优化推广,二手房网站开发文档目录 虚函数介绍 虚函数、覆盖和重载区别 虚函数介绍 C的虚函数是多态性的表现 1.构造函数不能为虚函数2.子类继承时虚函数仍为虚函数3.虚函数类外实现时,不需要加virtual4.有虚函数的类,析构函数一定要写成虚函数(否则可能会造成内存泄漏&…

目录

虚函数介绍

虚函数、覆盖和重载区别


虚函数介绍

C++的虚函数是多态性的表现

1.构造函数不能为虚函数
2.子类继承时虚函数仍为虚函数
3.虚函数类外实现时,不需要加virtual
4.有虚函数的类,析构函数一定要写成虚函数(否则可能会造成内存泄漏)
5.纯虚函数不能实例化,子类必须实现父类虚函数,否则也不能实例化

class A
{
public:virtual A(){}    //报错:“A”:“inline”是构造函数的唯一合法存储类
}
class A
{
public:A(){ cout << "A() " << endl; }virtual void print(void) { cout << "A::print() " << endl; }
};class B : public A
{
public:B() { cout << "B() " << endl;}void print(void) { cout << " B::print() " << endl; }//虽然没有写virtual,但继承来自A,所以仍然为virtual。但强烈建议写上virtual
};class C : public B
{
public:C() { cout << "C() " << endl; }virtual void print(void);
}void C::print(void)    //类外实现函数体时不需要加 virtual
{cout << "C::print()!" << endl;
}int main(void)
{A *a = new C;a->print();    //打印 C::print()!return 0;
}
class A
{
public:A(){}virtual void print(void) = 0;
};class B : public A
{
public:B(){}
//此处没有对print进行实现
};int main()
{
//    A a;    //报错,“A”: 无法实例化抽象类
//    B b;    //报错,“B”: 无法实例化抽象类return 0;
}
class A
{
public:A() { cout << "A()" << endl;}virtual void print(void) { cout << "A::print()!" << endl; }~A() { cout << "~A()" << endl; }    //此处析构函数未声明为virtual
};class B : public A
{
public:B() { cout << "B()" << endl; }virtual void print(void) { cout << "B::print()" << endl; }~B() { cout << "~B()" << endl; }
};int main(void)
{A *a = new B;a->printf();delete a;    //注意看下面执行结果打印return 0;
}

执行结果如下,只执行了类A的析构函数,new出来的B的析构没有执行,内存泄漏

 

当A的析构函数声明为virtual,则先执行B的析构函数,在执行A的析构函数

虚函数、覆盖和重载区别

虚函数:父类某成员函数必须用virtual声明,子类重写的函数定义完全与父类相同(参数类型,参数个数和返回值),发生在父类和子类之间,父类可以调用子类的函数

覆盖:父类成员函数不用virtual声明,子类成员函数名称与父类相同(参数类型,参数个数和返回值可以不同),子类则完全覆盖父类所有相同名称的函数(即子类不能访问父类相同函数名称的函数)

重载:同一类的类成员函数之间,成员函数名称相同,但成员函数的参数类型、参数个数必须有至少一项不同

http://www.yayakq.cn/news/561777/

相关文章:

  • 网站内容优化的重要性wordpress 文章 碎片
  • 西安网站搭建建设定制分宜网站建设
  • 可以做网站的语言如何在百度上做公司做网站
  • 新手学做网站图纸博客网站开发毕设
  • 网站开发报告书做跨境电商的网站
  • 前端开发可以做网站运营吗平台很重要经典的句子
  • 电商网站 解决方案工商网站查询企业信息官网
  • 浙江大经建设集团网站浏览器哪个好
  • 儿童早教网站模板在线图片编辑免费
  • 网站屏蔽右键破解做网络推广有哪些平台
  • 政务网站建设的重要性广州腾虎网络网站建设
  • 深圳可以做网站的公司大连凯杰建设有限公司官方网站
  • 招生网站怎么做网站建设技术风险
  • 全国企业公示系统查询上海城市分站seo
  • 小视频解析网站怎么做如何对网站进行推广
  • 网站优化公司排行做彩票网站怎么样
  • 广告网站设计公司 作用汽车网站建设流程图
  • 找做报纸的背景图去什么网站禁止WordPress访问官网
  • 网站首页线框图怎么做网站icp备案系统下载
  • 杭州做网站的公司哪家好物业服务网站建设
  • 网站封面如何做的吸引人快速网站开发框架
  • 上海海宏建设集团网站建站软件移动版
  • 做运动特卖的网站用哪个程序做网站收录好6
  • 网站开发的合同范本wordpress免费主题怎么用
  • 网络课程网站建设如何刷seo关键词排名
  • 网站空间500M徐州建站服务
  • 珠海做网站及推广邢台市教育考试院
  • html5手机网站制作软件wordpress密码文章插件
  • 网站首页description标签公司画册设计
  • 北京城建道桥建设网站济南市住房与城乡建设厅网站