说明:学生类是人类的扩充,学生类里有普通人类里没有的属性 ,加了点属于学生自有的东西。

当你继承一个父类的时候,父类里所有的东西都有了。

  例一:继承时构造函数调用情况                                                                                                     

#include<iostream>using namespace std;class A {
public:A() :i(0) { cout << "A::A()" << endl; }~A() { cout << "A::~A()" << endl; }void print() { cout << "A::f()" << endl; }void set(int ii) { i = ii; }
private:int i;
};class B :public A {};int main()
{B b;b.set(10);b.print();return 0;
}

 输出:                                                                                                                                              

 例二:调用父类public函数                                                                                                              

#include<iostream>using namespace std;class A {
public:A() :i(0) { cout << "A::A()" << endl; }~A() { cout << "A::~A()" << endl; }void print() { cout << "A::f()" << i << endl; }void set(int ii) { i = ii; }
private:int i;
};class B :public A {
public:void f() { set(20); print(); }  //调用父类public函数
};int main()
{B b;b.set(10);b.print();b.f();return 0;
}

 输出:                                                                                                                                               

 例三:析构函数输出顺序                                                                                                                 

#include<iostream>using namespace std;class A {
public:A(int ii) :i(0) { cout << "A::A(int ii)" << endl; } //要求有显示的不带参数的构造函数初始化 i~A() { cout << "A::~A()" << endl; }void print() { cout << "A::f()" << i << endl; }void set(int ii) { i = ii; }
protected:void use() { cout << "A::use()" << i + 1 << endl; }
private:int i;
};class B :public A {
public:B():A(15){ cout << "B::A()" << endl; };~B() { cout << "B::~B()" << endl; }void f() {set(20);// i = 30; //父类的private子类不能用print(); use();}
};int main()
{B b;b.set(10);b.print();b.f();//b.use(); //父类中的protected,对象不能用return 0;
}

 输出:                                                                                                                                               

  例四:隐藏同名函数                                                                                                                       

#include<iostream>using namespace std;class A {
public:A(int ii) :i(0) { cout << "A::A(int ii)" << endl; } //要求有显示的不带参数的构造函数初始化 i~A() { cout << "A::~A()" << endl; }void print() { cout << "A::print()" << i << endl; }void print(int i) { cout << "A:print(int i):i:" << i; print(); }void set(int ii) { i = ii; }
protected:void use() { cout << "A::use()" << i + 1 << endl; }
private:int i;
};class B :public A {
public:B():A(15){ cout << "B::A()" << endl; };~B() { cout << "B::~B()" << endl; }void print() { cout << "B::print()" << endl; }void f() {set(20);// i = 30; //父类的private子类不能用print(); use();}
};int main()
{B b;b.set(10);b.print();b.f();//b.use(); //父类中的protected,对象不能用//b.print(200);//B中的print()隐藏了A中print()和print(int),也就是隐藏了所有同名的函数,不管参数是什么都隐藏b.A::print(100);return 0;
}

C++ 10 翁恺> 继承相关推荐

  1. c++基础入门(根据浙大翁恺老师视频整理)

    把以前的笔记搬上来一下 根据浙大翁恺老师视频整理 https://www.bilibili.com/video/BV1yQ4y1A7ts?p=2 01第一个c++程序 02什么是对象 通过操作访问数据 ...

  2. 面向对象程序设计-C++(视频) 浙江大学 翁恺老师

    网易云课堂视频转存:面向对象程序设计-C++(视频) 浙江大学 翁恺老师 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/u012183487/art ...

  3. 翁恺老师视频内容 (C++)

    内容来自翁恺老师部分视频 基本语法 类的默认构造函数(default constructor) 不带参数的构造函数就是默认构造函数,包括自己定义的和编译器自动给的auto #include <i ...

  4. 翁恺老师 | 城堡游戏解读

    这是我自己对城堡游戏的解读,解读后自己才不会囫囵吞枣地假装自己懂了. 城堡游戏是一个根据目前所处的房间与方向,来指明下一步所处位置与出口的小游戏. 翁恺老师讲课的精妙之处在于,从最简单也最缺乏设计感的 ...

  5. C语言程序设计笔记(浙大翁恺版) 第九周:指针

    按照中国大学MOOC上浙江大学翁恺老师主讲的版本所作,B站上也有资源.原课程链接如下: https://www.icourse163.org/course/ZJU-9001 由于是大三抽空回头整理的, ...

  6. 翁恺c语言程序设计入门期末,程序设计入门-C语言 翁恺.doc

    第 PAGE \* MERGEFORMAT 39 页 共 NUMPAGES \* MERGEFORMAT 39 页 程序设计入门-C语言 浙大 翁恺循环类型编程源代码1.#include int ma ...

  7. C语言程序设计笔记(浙大翁恺版) 第二周:计算

    按照中国大学MOOC上浙江大学翁恺老师主讲的版本所作,B站上也有资源.原课程链接如下: https://www.icourse163.org/course/ZJU-9001 由于是大三抽空回头整理的, ...

  8. 浙大翁恺pat练习题_PAT|中国大学MOOC-浙江大学翁恺-C语言程序设计习题集(更新中)...

    2-0. 整数四则运算 时间限制:400 ms 内存限制:65536 kB 代码长度限制:8000 B 判题程序:Standard 作者:乔林(清华大学) 本题要求编写程序,计算2个正整数的和.差.积 ...

  9. C语言程序设计笔记(浙大翁恺版) 第三周:判断

    按照中国大学MOOC上浙江大学翁恺老师主讲的版本所作,B站上也有资源.原课程链接如下: https://www.icourse163.org/course/ZJU-9001 由于是大三抽空回头整理的, ...

最新文章

  1. linux+postfix+extmail+dovecot搭建邮件服务器
  2. 皮一皮:现在的妹子这么好骗?还是在下脸皮太薄了...
  3. Linux中top命令的用法详解
  4. python 颤音_自成一派,这个作曲大师确实名副其实!
  5. java 管道设计_使用管道流实现Java 8阶段构建器
  6. matlab之unwrap函数
  7. C#中LINQ技术的简单小例
  8. CodeForces - 594A Warrior and Archer(思维+博弈)
  9. 新闻数据采集php,PHP新闻采集在线源码
  10. 无苹果,怎么编写内置 iOS 应用?
  11. 在Linux中创建静态库和动态库范例 (hello.c)
  12. Python 爬虫 PhantomJs 获取JS动态数据
  13. 实验室一块GPU都没有?这个云平台直接送3090、A100免费无门槛代金券!
  14. 常用数据接口汇总,百度、谷歌、头条、微博指数,高校名单,疫情数据...
  15. 思科路由器 密码设置和恢复
  16. Linux开发板实现 NTP时间获取
  17. python商品销售情况数据分析_用python分析小红书销售情况
  18. java手机解锁_Android手机屏幕敲击解锁功能代码
  19. verilog 实现32位加法器(超前进位)
  20. 安凯微电子与阿里云IoT开展全面合作 共同打造视频芯云一体化解决方案

热门文章

  1. 品优购的界面设计要求_品优购项目
  2. 24个Web前端人员不能错过的在线检测网站汇总
  3. tr td th是什么的缩写
  4. Bootstrap 轻松实现选项卡
  5. Mac 下 python 环境问题
  6. iOS 7最佳实践:一个天气App案例
  7. 水星MW150US安装Linux驱动
  8. 吉首大学第九届"新星杯"大学生程序设计大赛 J.小阳排队
  9. 怎么把ubuntu系统从英文修改为中文界面
  10. 你见过哪些好用到爆的 Java 代码技巧?