6-3 派生类的定义和使用

分数 4

全屏浏览题目

切换布局

作者 李廷元

单位 中国民用航空飞行学院

按要求完成下面的程序:

1、定义一个Animal类,包含一个void类型的无参的speak方法,输出“animal language!”。

2、定义一个Cat类,公有继承自Animal类,其成员包括:

(1)私有string类型的成员m_strName;

(2)带参数的构造函数,用指定形参对私有数据成员进行初始化;

(3)公有的成员函数print_name,无形参,void类型,功能是输出成员m_strName的值,具体输出格式参见main函数和样例输出。

类和函数接口定义:

参见题目描述。

裁判测试程序样例:

#include <iostream> #include <string> using namespace std; /* 请在这里填写答案 */ int main() { Cat cat("Persian"); //定义派生类对象 cat.print_name(); //派生类对象使用本类成员函数 cat.speak(); //派生类对象使用基类成员函数 return 0; }

输入样例:

本题无输入。

输出样例:

cat name: Persian
animal language!

代码长度限制

16 KB

时间限制

400 ms

内存限制

64 MB

class Animal
{
public:Animal() {};void speak(){cout << "animal language!" << endl;}
};
class Cat :public Animal
{
public:Cat() {};Cat(string s){this->m_strName = s;}void print_name(){cout << "cat name: " << this->m_strName << endl;}
private:string m_strName;
};

6-3 派生类的定义和使用相关推荐

  1. C++ 派生类的定义

    在C++中,派生类的一般定义语法为: class 派生类名:继承方式 基类名1,继承方式 基类名2,....,继承方式 基类名n {派生类成员声明; }; 派生类成员是指出了从基类继承来的所有成员之外 ...

  2. Essential C++学习记录笔记整理35(定义一个派生类)

    目录 派生类: 一些机制的说明 纯虚函数和虚函数的补充 类继承的一些原则和注意(对于继承过来的数据成员/成员函数) 跳过虚函数机制 派生类同名成员优先被调用机制 如何在派生类调用基类的成员函数(该成员 ...

  3. C++ 虚函数在基类与派生类对象间的表现及其分析

    近来看了侯捷的<深入浅出MFC>,读到C++重要性质中的虚函数与多态那部分内容时,顿时有了疑惑.因为书中说了这么一句:使用"基类之指针"指向"派生类之对象&q ...

  4. 基类成员的public访问权限在派生类中变为_C++ 派生类的构造函数(学习笔记:第7章 06)...

    派生类的构造函数[1] 默认情况 基类的构造函数不被继承; 派生类需要定义自己的构造函数. C++11规定 可用using语句继承基类构造函数. 但是只能初始化从基类继承的成员. 派生类新增成员可以通 ...

  5. 基类指针调用派生类函数_C++ 多态性:虚函数--基类与派生类类型转换(第7章 05)例子问题解析(学习笔记:第8章 05)...

    虚函数[1] 问题:还记得第7章的例子吗[2]? 例7-3 类型转换规则举例 #include <iostream> using namespace std; class Base1 { ...

  6. php 派生类 构造,C++派生类的构造函数和析构函数

    派生类对象中包含基类对象,因此派生类对象在创建时,除了要调用自身的构造函数进行初始化外,还要调用基类的构造函数初始化其包含的基类对象.因此,程序中任何能够生成派生类对象的语句,都要说明其包含的基类对象 ...

  7. 派生类类型可以转换为基类类型,反之则不行

    派生类的对象都含有基类对象作为其一部分,我们可以将指向派生类型的引用转换为指向它的基类型的引用,像转换指针一样,我们可以用派生类的对象初始化或赋值基类对象,反之却不行.class base{ publ ...

  8. Part7 继承与派生 7.4派生类的构造和析构

    1派生类的构造函数 默认情况下:基类的构造函数不被继承,派生类需要定义自己的构造函数. C++11 规定:可用using语句继承基类构造函数.但是只能初始化从基类继承的成员.这时派生类新增成员可以通过 ...

  9. C++ 基类和派生类的virtual虚析构函数

    virtual虚函数与C++的多态息息相关,C++中基类采用virtual虚析构函数主要目的是为了防止潜在的内存泄漏. 具体地说,如果派生类中申请了内存空间,并在其析构函数中对这些内存空间进行释放.假 ...

最新文章

  1. 不带头节点的链表有哪些缺点_23张图!万字详解「链表」,从小白到大佬!
  2. 从Weex到Web,性能逆势如何破局?
  3. asterisk使用SIP相互对接
  4. ant 彻底了解(转)
  5. pandas的to_csv()使用方法
  6. 物联网核心安全系列——智能家居与数据安全问题
  7. Ajax_jquery库中Ajax方法的使用
  8. .net垃圾回收学习[NET 2.0 Performance Guidelines - Garbage Collection][翻译加学习]
  9. 量化投资学sql还是mysql_新人如何学习量化投资
  10. 计算机二级excel高级筛选,Excel高级筛选怎么用之相关案例:excel高级筛选多个条件(并且、或用法)...
  11. 10月份都有哪些好看的韩剧?
  12. 校本课程 计算机组装与维护,让信息技术成为校本课程开发的对象
  13. Unity Flat Shading实现低多边形(low-poly)效果
  14. html ua ios,iOS 修改默认 UserAgent
  15. mysql1598_mysql中主从复制中出现ERROR 1598 (HY000)错误
  16. java设置窗体不透明的函数_透明窗口(窗口上面文字图片等内容不透明)的实现(使用SetLayeredWindowAttributes API函数)...
  17. revit建模中两面墙贴在一起怎么插入门窗及隐框玻璃的做法
  18. 电脑使用技巧(按键失灵的几种解决方法)
  19. 二维图形的变换(矩阵形式)
  20. Pylint同时屏蔽多个报错信息

热门文章

  1. 腾讯云从业者培训课程介绍/腾讯云介绍
  2. 深圳云计算培训:一个全新的世界—Linux
  3. 工业数字智能化常用系统简介
  4. 【语法一】基础语法入门
  5. 前端笔记html+css+vue, 页面布局、定位、字体背景等和一些常用方法
  6. U盘只剩下一个快捷方式,解决办法
  7. 完全背包问题Leecode322零钱兑换和Leecode518零钱兑换||
  8. 基于stm32g474高精度定时器HRTIM的移相全桥
  9. RecyclerView实现横向滑动
  10. 【附源码】Java计算机毕业设计高考志愿智能推荐系统(程序+LW+部署)