首先由三个类分别为DateType(日期类)、TimeType(时间类)、DateTimeType(日期时间内)。详细代码例如以下:

#include <iostream>
using namespace std; class DateType
{
int year,month,day;
public:
DateType(int year = 2000,int month = 12,int day = 1)
{
this->year = year;
this->month = month;
this->day = day;
cout<<"DateType的构造函数"<<endl;
} void display()
{
cout<<year<<"年"<<month<<"月"<<day<<"日"<<endl;
} ~DateType()
{
cout<<"DateType的析构函数"<<endl;
} }; class TimeType
{
int h,m,s;
public:
TimeType(int h = 12,int m = 30,int s = 30)
{
this->h = h;
this->m = m;
this->s = s;
cout<<"TimeType的构造函数"<<endl;
} void display()
{
cout<<h<<"时"<<m<<"分"<<s<<"秒"<<endl;
} ~TimeType()
{
cout<<"TimeType的析构函数"<<endl;
}
}; class DateTimeType:public DateType,public TimeType
{
public:
DateTimeType(int y=2014,int month=5,int d=12,int h=17,int m=2,int s=10):TimeType(h,m,s),DateType(y,month,d){}
void display()
{
DateType::display();
TimeType::display();
}
}; int main()
{
DateTimeType dt;
dt.display();
return 0;
}

最后的结果例如以下:

最后分析一下我在这个实验中学到了什么:

1.派生类运行例如以下:

a.调用基类的构造函数,调用顺序是它们被继承时声明的基类的顺序。。

b.调用派生类的构造函数

c.运行派生类的析构函数

d.运行基类的析构函数(顺序相反)

2.假设一个类中的构造函数如DateType(int year = 2000,int month = 12,int day = 1),声明对象时能够使用DateType d来声明,尽管并没有无參的构造函数。而假设加入�了无參的构造函数,则会编译错误。

3.一个类继承多个类时,构造函数调用的顺序跟声明时(比如class DateTimeType:public DateType,public TimeType)一致,而不是看(DateTimeType(int y=2014,int month=5,int d=12,int h=17,int m=2,int s=10):TimeType(h,m,s),DateType(y,month,d){},这里的顺序没有影响)。

4.假设继承构造时写成这样:

	DateTimeType(int y=2014,int month=5,int d=12,int h=17,int m=2,int s=10):TimeType(h,m,s)
{
DateType::DateType(y,month,d);
}

结果中日期为2000年12月10日,说明必须使用參数列表。这里实际上调用的是DateType的默认无參构造函数,不信能够将函数写成这样

	DateType(int year,int month,int day)
{
this->year = year;
this->month = month;
this->day = day;
cout<<"DateType的构造函数"<<endl;
} DateType()
{
cout<<"DateType的无參构造函数"<<endl;
}

然后结果就成下图这样了,这充分说明了:“要是使用基类的带參数的构造函数,必须使用參数列表,否则仅仅能调用基类的无參构造函数”。



C++类的继承实例的更多相关文章

  1. php面向对象:类的继承实例讲解

    什么是类的继承?说白了,我觉得就是提高代码使用效率的.下面我就给大家介绍下继承.大理石平台维修 类的继承概念 子类继承父类的所有成员变量个方法,包括构造方法,当子类被实例化时,php会现在子类中查询构 ...

  2. js原生继承之——类式继承实例(推荐使用)

    <!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8&qu ...

  3. python自动化测试学习笔记-7面向对象编程,类,继承,实例变量,邮件

    面向对象编程(OOP)术语: class TestClass(object):   val1 = 100       def __init__(self):     self.val2 = 200   ...

  4. Class的使用,构造方法,实例属性和实例方法,静态属性和静态方法,this和super关键字,类的继承

    s6新增了一种定义对象实例的方法,Class(类)这个概念,作为对象的模板.class可以看作只是一个语法糖,通过class关键字,可以定义类.让对象原型的写法更加清晰.更像面向对象编程的语法. 一. ...

  5. Python之路-面向对象&继承和多态&类属性和实例属性&类方法和静态方法

    一.面向对象 编程方式 面向过程:根据业务逻辑从上到下写垒代码 函数式:将某功能代码封装到函数中,日后便无需重复编写,仅调用函数即可 面向对象:对函数进行分类和封装,让开发“更快更好更强…” 什么是面 ...

  6. 【Python五篇慢慢弹(5)】类的继承案例解析,python相关知识延伸

    类的继承案例解析,python相关知识延伸 作者:白宁超 2016年10月10日22:36:57 摘要:继<快速上手学python>一文之后,笔者又将python官方文档认真学习下.官方给 ...

  7. JS原型继承和类式继承

    前言 一个多月前,卤煮读了一篇翻译过来的外国人写的技术博客.此君在博客中将js中的类(构造)继承和原型继承做了一些比较,并且得出了结论:建议诸位在开发是用原型继承.文中提到了各种原型继承的优点,详细的 ...

  8. C#类的继承,方法的重载和覆写

    在网易云课堂上看到唐大仕老师讲解的关于类的继承.方法的重载和覆写的一段代码,注释比较详细,在此记下以加深理解. 小总结: 1.类的继承:允许的实例化方式:Student t=new Student() ...

  9. Lua面向对象----类、继承、多继承、单例的实现

    (本文转载)学习之用,侵权立删! 原文地址   http://blog.csdn.net/y_23k_bug/article/details/19965877?utm_source=tuicool&a ...

随机推荐

  1. cocos2d-x 3.0 画图节点——Node

    ***************************************转载请注明出处:http://blog.csdn.net/lttree************************** ...

  2. Linux驱动开发常用头文件

    头文件目录中总共有32个.h头文件.其中主目录下有13个,asm子目录中有4个,linux子目录中有10个,sys子目录中有5个.这些头文件各自的功能如下: 1.主目录 <a.out.h> ...

  3. USB描述符解析-->枚举.

    枚举可以理解为主机按不定的顺序向USB设备讨要设备信息,好给它分配资源,若枚举不成功,就放弃分配资源,免得浪费资源.一般都是使用中断传输方式通信. 常用的描述符有以下几种:01H.设备描述符  02H ...

  4. iOS调节系统音量

    目录[-] 使用MPVolumeView 编程实现系统音量调节2 通过MPVolumeSlider的实例来操作系统音量 有问题!我不喜欢系统弹出音量提示 还有问题,我修改了系统音量但是不是通过我的UI ...

  5. div+css不间断滚动字幕

    <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content ...

  6. 读书笔记_Effective_C++_条款二十三:宁以non-member、non-friend替换member函数

    有下面一种情况 class A { private: int a; int b; public: A(int x, int y) :a(x), b(y){} void a_display(){ cou ...

  7. 转自http://blog.slogra.com/post-13.html,关闭centos虚拟机的蜂鸣声

    相信对经常在虚拟机做实验的人来说,每次按tab来补全命令的时候是最痛苦的,这个时候是最让人想把 电脑的蜂鸣器给拆下来,让我们来关闭这个烦人的东西吧.  在centos系统下的方法 1.临时解决办法:以 ...

  8. 一种用css实现图片在父框中等比缩放并垂直居中的办法

    一个网页中往往会有很多图片,而网站的编辑上传图片时可能并不一定按照为父框设定的那个宽高来传,这样图片往往会将父框撑开或者被父框截断.一种比较好的解决的办法是这样的: HTML代码结构: <div ...

  9. PHP 计算页面执行时间

    PHP 计算页面执行时间 < ?php class runtime { var $StartTime = 0; var $StopTime = 0; function get_microtime ...

  10. MySQL 查询结果保存为CSV文件

    MySQL支持将查询结果直接导出为文本格式,格式如下: into outfile '导出的目录和文件名'                  指定导出的目录和文件名 fields terminated ...