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

白云免费网站建设杭州新闻

白云免费网站建设,杭州新闻,做网站做手机站还是自适应站,长沙网页设计培训电话#x1f916;个人主页#xff1a;晚风相伴-CSDN博客 思维导图链接#xff1a;面向对象的性质 持续更新中…… #x1f496;如果觉得内容对你有帮助的话#xff0c;还请给博主一键三连#xff08;点赞#x1f49c;、收藏#x1f9e1;、关注#x1f49a;#xff09;吧 … 个人主页晚风相伴-CSDN博客 思维导图链接面向对象的性质 持续更新中…… 如果觉得内容对你有帮助的话还请给博主一键三连点赞、收藏、关注吧 如果内容有误或者有写的不好的地方的话还望指出谢谢 让我们共同进步 目录 1、什么是面向对象 2、面向对象和面向过程的区别  3、面向对象的三大特性  4、重载和重写的区别  5、重载和重写的实现 6、构造函数的种类和作用 7、向上转型和向下转型  8、虚函数重写的条件  9、深拷贝和浅拷贝  10、静态多态和动态多态  11、虚析构和虚构造  12、类继承的访问权限  13、虚函数和纯虚函数的区别  14、纯虚函数不能实例化的原因 15、拷贝构造函数的参数 16、拷贝赋值和移动赋值的区别 17、虚函数表  18、final和override 19、类模板和模板类的区别  1、什么是面向对象 面向对象是一种编程思想把一切东西都看成是一个个对象比如人、耳机等他们都有各自的属性 2、面向对象和面向过程的区别  面向过程根据业务逻辑从上到下写代码 面向对象将数据与函数绑定到一起进行封装这样能够更快速的开发程序减少了重复代码的重写过程  3、面向对象的三大特性  封装将数据和操作数据的方法进行有机结合隐藏对象的属性和实现细节仅对外公开接口来和对象进行交互继承可以使用现有类的所有功能并在无需重新编写原来的类的情况下对这些功能进行扩展多态用父类指针指向子类的示例然后通过父类指针调用实际子类的成员函数。实现多态  4、重载和重写的区别  重写是指在派生类中重新定义的函数。其函数名参数列表返回值类型所有都必须同基类中被重写的函数一致。只有函数体不同派生类对象调用时会调用派生类的重写函数不会调用被重写的函数。重写的基类中被重写的函数必须有virtual修饰重载是指同一作用域内被声明的几个具有不同参数列表的同名函数根据参数列表确定调用哪个函数重载不关心函数返回类型  5、重载和重写的实现 重载的实现C利用命名倾轧技术来改变函数名区分参数不同的同名函数。命名倾轧是在编译阶段完成的。 例如void func(int a, int b)那么在编译的时候会把参数也加上就变成了funcii重写的实现在基类的函数前加上virtual关键字在派生类中重写该函数运行时将会根据对象的实际类型来调用相应的函数。如果对象类型是派生类就调用派生类的函数如果对象类型是基类就调用基类的函数。这就实现了一个多态  6、构造函数的种类和作用 默认构造、初始化构造、拷贝构造、移动构造 默认构造函数和初始化构造函数。在定义类的对象的时候完成对象的初始化工作赋值构造函数默认实现的是值拷贝浅拷贝 移动构造函数。用于将其他类型的变量隐式转换为本类对象 7、向上转型和向下转型  子类转换为父类向上转型使用dynamic_casttype_id(expression) ,这种转换相对来说比较安全不会有数据的丢失 父类转换为子类向下转型可以使用强置转换但这种转换是不安全的会导致数据的丢失原因是父类的指针或者引用的内存中可能不包含子类的成员的内存。 8、虚函数重写的条件  派生类可以不加virtual依旧满足重写因为继承后父类的虚函数接口在子类中依旧保持虚函数属性返回值是具有父子关系的指针或者引用父类返回父类指针子类返回子类指针这个也叫做协变析构函数的重写如果父类的析构函数为虚函数此时子类析构函数只要定义无论是否加virtual关键字都与父类析构函数构成重写。 9、深拷贝和浅拷贝  浅拷贝又称值拷贝将源对象的值拷贝到目标对象中去本质上来说源对象和目标对象共用一份实体只是所引用的变量名不同地址其实还是相同的。 深拷贝拷贝的时候先开辟出和源对象大小一样的空间然后将源对象里的内容拷贝到目标对象中这样两个指针就指向了不同的内存位置。 10、静态多态和动态多态  静态多态也称编译时多态或早期绑定多态。这种多态性通常是用重载实现编译器根据调用时的参数类型和数量来决定使用哪个版本的函数动态多态也称运行时多态这种多态性通常通过虚函数来实现允许子类重写父类的方法并且能够在运行时根据对象的实际类型来选择合适的方法。实现多态的条件 1. 虚函数。基类中必须有虚函数在派生类中必须重写虚函数。 2. 通过基类类型的指针或引用来调用虚函数。   11、虚析构和虚构造  虚析构将可能会被继承的父类的析构函数设置为虚函数可以保证当我们new一个子类然后使用基类指针指向该子类对象释放基类指针时可以释放掉子类的空间防止内存泄漏。如果基类的析构函数不是虚函数在特定的情况下会导致派生类无法被析构。虚构造虚函数对应一个虚表这个表的地址是存储在对象的内存空间的。如果将构造函数设置为虚函数就需要虚表中调用可是对象还没有实例化没有内存空间分配调用不了相违背  12、类继承的访问权限  public继承派生类可以访问基类的public、protected成员不可以访问基类的private成员派生类对象可以访问基类的public成员不可以访问基类的protected、private成员。 protected继承派生类可以访问基类的public、protected成员不可以访问基类的private成员派生类对象不可以访问基类的public、protected、private成员。 private继承派生类可以访问基类的public、protected成员不可以访问基类的private成员派生类对象不可以访问基类的public、protected、private成员。  13、虚函数和纯虚函数的区别  虚函数和纯虚函数可以定义在同一个类中含有纯虚函数的类被称为抽象类而只含有虚函数的类不能被称为抽象类虚函数可以被直接使用也可以被子类重载以后以多态的形式调用而纯虚函数必须在一个子类中实现该函数才可以使用因为纯虚函数在基类有声明而没有定义。虚函数和纯虚函数都可以在子类中被继承以多态的形式被调用。虚函数和纯虚函数通常存在于基类中被子类所继承目的是提供一个统一的接口。虚函数的定义形式virtual{}纯虚函数的定义形式virtual{}0在虚函数和纯虚函数的定义中不能有static标识符原因很简单被static修饰的函数在编译时要求前期绑定然而虚函数却是动态绑定而且被两者修饰的函数声明周期也不一样。 14、纯虚函数不能实例化的原因 纯虚函数在类的vftable中对应的表项被赋值为0。也就是指向一个不存在的函数。由于编译器绝对不允许有调用一个不存在的函数的可能所以该类不能生成对象。在它的派生类中除非重写此函数否则也不能生成对象 15、拷贝构造函数的参数 拷贝构造函数的参数必须使用引用传递如果使用传值的方式那么会调用该类的拷贝构造函数从而造成无穷递归地调用拷贝构造函数。传指针也和传值一样。 16、拷贝赋值和移动赋值的区别 拷贝构造函数的形参是一个左值引用而移动构造函数的形参是一个右值引用拷贝构造函数完成的是整个对象或变量的拷贝而移动构造函数时生成一个指针指向源对象或变量的地址接管源对象的内存相对于大量数据的拷贝节省时间和内存空间。 17、虚函数表  虚函数表是一个存储虚函数地址的数组以NULL结尾。虚表在编译阶段生成对象内存空间开辟后写入对象中的虚表指针然后调用构造函数。即虚表在构造函数之前写入。除了在构造函数之前写入外我们还需要考虑到虚表的二次写入机制通过次机制让每个对象的虚表指针都能准确的指向到自己类的虚表为实现动态多态提供支持。虚表是在静态区的并且虚表只有一份 对于派生类的虚表生成 先将基类的虚表内容拷贝一份到派生类虚表中如果派生类重写了基类的某个虚函数那么派生类自己的虚函数覆盖虚表中基类的虚函数派生类自己增加的虚函数按其在派生类的声明顺序添加到派生类虚表的最后。 18、final和override final用于修饰虚函数表示该虚函数不能被重写 override用于检查子类虚函数是否重写了父类的某个虚函数如果没有则编译报错 19、类模板和模板类的区别  类模板是模板的定义不是一个实实在在的类定义中用到通用类型参数 模板类是实实在在的类定义是类模板的实例化类定义中参数被实际类型所替代
http://www.dnsts.com.cn/news/68258.html

相关文章:

  • 阐述建站流程为什么收不到自己网站
  • 中英文网站建设报价广州注册公司程序
  • 大学生网站建设小结类似火脉的推广平台
  • 想给公司做个网站怎么做的三丰云做网站教程
  • 广告宣传模板在线制作免费刷移动端seo软件
  • 洞泾网站建设本地wordpress 手机浏览器
  • 海宁市住房与建设规划局网站学校ppt模板免费下载
  • 北京网站建设小鱼在线智通人才网东莞最新招聘信息
  • 网站开发步骤说明书吕梁市住房与城乡建设厅网站
  • 天河网站建设哪家强安装nginx wordpress
  • 无锡网站建设xinysu新媒体营销案例
  • 竹子建设网站国外红人营销网站
  • 可以看网站的浏览器有哪些php 网站开发文档怎么写
  • 做个网站需要多钱做网站时链接的网页无法显示
  • 基于php网站开发环境天津品牌建站
  • 网站备案登陆用户名是什么惠州网站小程序建设点
  • 网站发布到ftpwordpress自定义弹窗
  • 试玩网站怎么做山东建设厅官方网站临沂
  • 小学校园网站建设方案工作职责厦门电商网站开发
  • 遵义原创网站福州网站定制设计
  • 搭建网站需要做什么2345浏览器导航页
  • 第三方物流网站建设龙岗区建设工程交易服务网
  • 崇义做网站如何设计网页页面
  • 网站建设总体规划包括哪些网站的域名技巧和空间选择
  • 建网站上海html5视频网站开发
  • 提高网站访问速度网站如何实现多语言
  • 携程网站 建设平台分析营销自动化是什么意思
  • 凡科可以做游戏网站吗免费搭建服务器
  • 做远程培训网站用什么系统深圳创业补贴10万
  • 个人作品集网站是怎么做手机端在哪里打开