首页 > 其他分享 >继承与派生

继承与派生

时间:2024-08-09 15:17:20浏览次数:5  
标签:RatedPlayer const string 派生 继承 unsigned int TableTennisPlayer

class TableTennisPlayer{
  private:
  string firstname;
  string lastname;
  bool hasTable;
publc:
  TableTennisPlayer(const string & fn="none",const string & ln="none",bool ht =false);
  void name() const;
  bool hasTable(return hasTable);
  void ResetTable(bool v){hasTable=v};
}

class RatedPlayer:public TableTennisPlayer{
  private: unsigned int rating;
 public:
RatedPlayer(unsigned int r=0,const string &fn="none",const string & ln="none",bool ht=false);
RatedPlayer(unsigned int r,const TableTennisPlayer &tp);
unsigned int Rating()const{return rating;}
void ResetRating(unsigned int r){rating =r;}
}
}
1.使用派生类调用基类的拷贝构造函数
RatedPlayer olaf1(1840,"Olaf","Loaf",true);
TableTennisPlayer olaf2(olaf1);
表面上调用:
TableTennisPlayer(const RatedPlayer &);
实际调用,基类的拷贝构造函数:
TableTennisPlayer(const TableTennisPlayer &);
2.隐式调用基类的=重载
RatedPlayer olaf1(1840,"Olaf","Loaf",true);
TableTennisPlayer winner;
winner=olaf1;
隐式调用
TableTennisPlayer & operator=(const TableTennisPlayer &)const;
3.上述调用只完成基类数据成员的拷贝和赋值,派生类的数据成员并没有被赋值。
4.Is a和Has a
午饭有一个香蕉 午饭中包含香蕉这个对象
香蕉是一种水果 香蕉是水果的派生类

标签:RatedPlayer,const,string,派生,继承,unsigned,int,TableTennisPlayer
From: https://www.cnblogs.com/zhongta/p/18350795

相关文章

  • Kotlin 面向对象编程 (OOP) 基础:类、对象与继承详解
    什么是面向对象编程(OOP)?OOP代表面向对象编程。过程式编程是编写执行数据操作的过程或方法,而面向对象编程则是创建包含数据和方法的对象。与过程式编程相比,面向对象编程具有以下几个优势:OOP更快且更易于执行OOP为程序提供了清晰的结构OOP有助于保持Kotlin代码的DRY......
  • C# & Unity 面向对象补全计划 七大原则 之 合成/聚合复用原则( CARP)难度:☆☆☆☆ 总结:
    本文仅作学习笔记与交流,不作任何商业用途,作者能力有限,如有不足还请斧正本系列作为七大原则和设计模式的进阶知识,看不懂没关系请看专栏:http://t.csdnimg.cn/mIitr,查漏补缺1.合成/聚合复用原则(CARP)        合成/聚合复用原则就是在一个新的对象里面使用一些已有的......
  • C#类继承自泛型集合
    继承自泛型字典的例子这段代码定义了一个多层嵌套的字典结构,旨在组织和存储复杂的层级数据usingSystem;usingSystem.Threading.Tasks;classContract:Dictionary<string,Dictionary<string,Dictionary<string,string>>>{privatereadonlystringtype="autodes......
  • 重学面向对象-基础篇03封装、继承和多态
    封装、继承和多态基础概念封装:把对象的属性和方法结合城一个独立的整体,隐藏实现细节,并提供对外访问的接口继承:从已知的一个类中派生出一个新的类,叫子类。子类实现了父类所有非私有化的属性和方法,并根据实际需求扩展出新的行为多态:多个不同的对象对同一消息作出响应,同一消息根......
  • Chapter 28 继承
    欢迎大家订阅【Python从入门到精通】专栏,一起探索Python的无限可能!文章目录前言一、基础语法二、复写前言在面向对象编程中,继承是一个重要的概念,它允许我们创建新的类(子类),以获得现有类(父类)的特性和行为。本文详细讲解了Python中的继承特性,介绍了如何通过继承来......
  • C++进阶:1_C++中的继承
    C++中的继承一.继承的概念及定义1.继承的概念公共部分提取出来叫做:父类或者基类(正常类)继承父类的类叫做:子类或者派生类(派生类)继承(inheritance)机制是面向对象程序设计使代码可以复用的最重要的手段,它允许程序员在保持原有类特性的基础上进行扩展,增加功能,这样产......
  • Java 继承和多态(进阶介绍 十六)
    目录Java继承IS-A关系实例实例instanceof关键字HAS-A关系例子Java多态简单的例子虚方法多态的实现方式方式一:重写方式二:接口Java继承继承是所有OOP语言和Java语言不可缺少的组成部分。继承是Java面向对象编程技术的一块基石,是面向对象的三大特征......
  • 如何用继承的方式完成包装
    所谓用继承的方式完成包装,其实很简单,我们举个例子。改写系统自带的list中append的方法:1>classList(list):defappend(self,obj):iftype(obj)isstr:super().append(obj)else:print('不是str类型不能append')l=List()l.......
  • Spring源码(六)--BeanFactory 实现与继承关系
    BeanFactory实现与继承关系这些接口和类的源码,每一个都可以看一下。ListableBeanFactory由bean工厂实现的BeanFactory接口的扩展,这些bean工厂可以枚举它们所有的bean实例,而不是按客户端请求逐个按名称进行bean查找。HierarchicalBeanFactory由bean工厂实现的子接口,可以是......
  • 继承和多态
    继承继承:继承是java面向对象编程技术的一块基石,因为它允许创建分等级层次的类。继承就是子类继承父类的特征和行为,使得子类对象(实例)具有父类的实例域和方法,或子类从父类继承方法,使得子类具有父类相同的行为。生活中的继承:继承的概述:继承是面向对象程序设计的一个重要特征......