博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C++:继承
阅读量:2086 次
发布时间:2019-04-29

本文共 1637 字,大约阅读时间需要 5 分钟。

一.继承的引出

class News{
public: void header() {
cout<<"header"<

二.3种继承方式

1.公有继承

class Son1:public Base1{
public: void Func() {
cout<
<

2.保护继承

class Son2:protected Base1{
public: void Func() {
cout<
<

3.私有继承

class Son:public Base1{
public: int m_D;};void test03(){
cout<
<

三.继承中的构造和析构

class Base3{
public: Base3() {
cout<<"gouzao"<
class Base4{
public://用户自定义了有参构造 和系统不再管理默认构造 Base4(int a) {
this->m_A = a; cout<<"arg gouzao"<

四.继承中的同名处理

1.普通同名成员函数和成员属性

//继承中的普通同名处理class Base5{
public: Base5() {
m_A= 100; } void func() {
cout<<"Base5 func"<

2.静态同名成员函数和属性

//继承中同名静态成员的处理class Base6{
public: //静态成员属性 类内定义 类外初始化 static int m_A;};int Base6::m_A = 10;class Son6:public Base6{
};void test07(){
//说明子类可以继承父类的静态成员属性 cout<
<

五.多继承问题及其解决

//多继承class Base8{
public: Base8() {
m_A = 10; } int m_A;};class Base9{
public: Base9() {
m_A = 20; } int m_A;};class Son8:public Base8,public Base9{
public: int m_C; int m_D;};void test09(){
cout<
<

六.菱形继承问题及解决

class Animal{
public: int m_Age;};//菱形继承//虚基类class Sheep:virtual public Animal{
public:};class Tuo:virtual public Animal{
};class SheepTuo :public Sheep,public Tuo{
};//菱形继承问题的解决 利用虚继承 virtualvoid test10(){
SheepTuo st; st.Sheep::m_Age = 10; st.Tuo::m_Age = 20; //如果class Sheep和class Tuo不加virtual关键字,虽然实际都是继承了Animal 但却可以出现不同的值 这是有问题,而且如果不加作用域,会出现二义性// cout<
<

转载地址:http://ussqf.baihongyu.com/

你可能感兴趣的文章
【English】【托业】【四六级】写译高频词汇
查看>>
【托业】【新东方全真模拟】01~02-----P5~6
查看>>
【托业】【新东方全真模拟】03~04-----P5~6
查看>>
【托业】【新东方托业全真模拟】TEST05~06-----P5~6
查看>>
【托业】【新东方托业全真模拟】TEST09~10-----P5~6
查看>>
【托业】【新东方托业全真模拟】TEST07~08-----P5~6
查看>>
solver及其配置
查看>>
JAVA多线程之volatile 与 synchronized 的比较
查看>>
Java集合框架知识梳理
查看>>
笔试题(一)—— java基础
查看>>
Redis学习笔记(三)—— 使用redis客户端连接windows和linux下的redis并解决无法连接redis的问题
查看>>
Intellij IDEA使用(一)—— 安装Intellij IDEA(ideaIU-2017.2.3)并完成Intellij IDEA的简单配置
查看>>
Intellij IDEA使用(二)—— 在Intellij IDEA中配置JDK(SDK)
查看>>
Intellij IDEA使用(三)——在Intellij IDEA中配置Tomcat服务器
查看>>
Intellij IDEA使用(四)—— 使用Intellij IDEA创建静态的web(HTML)项目
查看>>
Intellij IDEA使用(五)—— Intellij IDEA在使用中的一些其他常用功能或常用配置收集
查看>>
Intellij IDEA使用(六)—— 使用Intellij IDEA创建Java项目并配置jar包
查看>>
Eclipse使用(十)—— 使用Eclipse创建简单的Maven Java项目
查看>>
Eclipse使用(十一)—— 使用Eclipse创建简单的Maven JavaWeb项目
查看>>
Intellij IDEA使用(十三)—— 在Intellij IDEA中配置Maven
查看>>