学习笔记(17):c++入门到精通教程 c++11/14/17-派生类、调用顺序、访问等级、函数遮蔽...

立即学习:https://edu.csdn.net/course/play/9186/191701?utm_source=blogtoedu

day14.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。

//
//#include <iostream>
//#include "Human.h"
//#include "men.h"
//
//
//int main()
//{
//    std::cout << "Hello World!\n";
//
//    二:  派生类对象定义时调用构造函数的顺序
//      当定义子类对象时  是要调用父类和子类的构造函数的 而且 父类的构造函数的函数体先执行
//
//
//    三 public 、protected ,private
//    总结 : 三种访问权限
//    men.m_Age = 12;
//    men.m_prol = 14;
//   
//
//    四:函数 遮蔽
//    Men men;
//    men.funcpub();
//    men.funcpub;
//    也就是子类中 如果有了一个同名函数 那么父类中  不管有几个同名函数 子类中都无法访问。
//    如果我们确实是想调用父类中的同名函数  怎么办?
//    (1)  在子类的成员函数中调用 父类名::函数名
//    men.samenamefunc(12);
//
//    (2) using :
//
//    c++11: 让父类同名函数在子类中可见。
//    通过using这个关键字 让父类的同名函数 在子类可见
//
//    men.samenamefunc();
//    men.samenamefunc(12);
//
//    说明这种using 、、、 只能指定函数名  则凡是基类中的public 在子类中都可见
//    引入的主要目的 是用来实现在子类对象中调用父类的重载版本.  该函数在父类的参数和子类中不一样
//
//
//    return 0;
//}

 

#include"men.h"
#include<iostream>

 

Men::Men()
{
    /*m_prol = 14;
    m_Age = 14;*/
    //m_privl = 14;
    funcpro();
    //std::cout << "执行了Men::Men()" << std::endl;
}
void Men::samenamefunc(int)
{
    Human::samenamefunc(12);
    Human::samenamefunc();

    std::cout << "执行了void Men::samenamefunc(int)" << std::endl;
}

 

#include "human.h"
#include <iostream>
//实现

Human::Human()
{
    std::cout << "执行了Human::Human()" << std::endl;
}
Human::Human(int abc)
{
    std::cout << "执行了Human::Human(int)" << std::endl;
}
void Human::samenamefunc()
{

}
void Human::samenamefunc(int abc)
{

}

 

#ifndef __MEN__
#define __MEN__
#include"Human.h"
 
//class Men: private Human
//class Men : protected Human
class Men : public Human        //表示Men是Human的子类
{

public:
    
    Men();
    


public:
    
    //v/\oid samenamefunc();
    void samenamefunc(int,int,int,int);

public:
    using Human::samenamefunc;

};

 

 

#endif

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值