文档章节

C++ 继承

wyhuan
 wyhuan
发布于 2016/01/26 11:13
字数 562
阅读 1
收藏 0

继承

继承规则: 若逻辑上B A 的“一种”,并且 A 的所有功能和属性对 B 而言都有意义,则允许 B 继承 A 能和属性。

l 示例

Class person{

Public:

void fun();

private:

tring sex;

int old

};

Class chinese: public  person

{

   private:

  string fuse;;

};

继承方式

1,  public 继承 :子类可以访问基类非私有成员,继承后性质不变。

2,  protected 继承 : 子类可以访问基类的非私有成员,继承后并将它们转换成 protected 性质。

3,  private 继承, 子类可以访问基类的非私有成员,继承后并将它们转换成 privated 属性。

class A

{

   public:

   int a;

   void fun();

   protected:

   int b;

   private:

   int c;

};

子类构造方式

先构造基类,再构造子类。基类成员变量的初始化由基类构造函数完成,除此之外,一般子类访问基类都是通过基类的成员函数去访问的(基类的私有成员子类 只能 通过基类的成员函数去访问)。

class A                          class B:public A      

{  public: A(int x) {x=0 }         {  public: B(int x,int y)  :A(x)  {y=0 ;}   

   private: int x;                   private: int y;

} ;                              } ;

本课题目

分别构建学生类和研究生类,其中学生类的基本属性有姓名(私有成员),学分,学时(保护成员),学生类含以下成员函数,带参构造函数,析构函数,增加学时学分函数,求平均学分函数等;研究生类有职称属性,其它属性都由student类继承而来,研究生类需要增加以下成员函数,带参构造函数,析构函数,输出各属性值函数,要求 定义一个研究生对象分别调用各功能函数

#include<string >

#include<iostream >

using   namespace   std ;

class   student // 学生类

{

           public :

           student ( string   sname )

     

  ……

            cout<<” 构造 student!”<<endl;

      }

        ~ student()

{  cout<<” 析构 student!” }

       void   addcorse ( int   hou , int   sco ) //增加学时和学分

      {

   ……

      }

      void   getaverage () //平均学分

     {

   cout << "平均学时: " <<( double ) score / hour << endl

     }

   ……

          protected :

     int   hour //总学时

      float   score //总学分

      

          private :

     string   name ;

  

};   

class   graduatestudent : public   student// 研究生类

{

   public :

       graduatestudent ( string   name , string   der ) ……

  {

……

          cout<<” 构造 graduatestudent !”<<endl;

  }

      ~  graduatestudent ()

      {  cout<<” 析构 graduatestudent !” }

   void   print ()

  {

cout << "姓名: " << ……< < 学时: " << …… < < 学分: " << ……< < 职称: " << …… < < endl ;

  }

   private :

       string   degree ;

};

void   main ()

{

graduatestudent   cai ( "wang" , "硕士 " );

cai . addcorse (20,40);

cai . getaverage ();

cai . print ();

}

© 著作权归作者所有

wyhuan
粉丝 1
博文 171
码字总数 146419
作品 0
大连
私信 提问
《鸡啄米C++编程入门系列》系列技术文章整理收藏

《鸡啄米C++编程入门系列》已整理成PDF文档,点击可直接下载至本地查阅 https://www.webfalse.com/read/201812.html 文章 鸡啄米:C++编程入门系列之前言 鸡啄米:C++编程入门系列之一(进制...

开元中国2015
2015/06/27
83
0
C++ STL编程轻松入门 2

1.3.3 STL和GP,GP和OOP   正如前面所提到的,在STL的背后蕴含着泛型化程序设计(GP)的思想,在这种思想里,大部分基本算法被抽象,被泛化,独立于与之对应的数据结构,用于以相同或相近的...

暖冰
2015/11/21
144
0
c语言基础学习11_项目实战:IDE(集成开发环境)

============================================================================= ============================================================================= 涉及到的知识点有: 一......

黑泽明军
2018/01/29
0
0
Android Camera 模块分析(四)

3.3 Camera本地库libui.so frameworks/base/libs/ui/中的Camera.cpp文件用于实现Camera.h提供的接口,其中一个重要的片段如下所示: const sp<ICameraService>& Camera::getCameraService()......

Jerikc
2012/08/31
396
0
javascript原型的理解

JavaScript是一门面向对象的语言。在JavaScript中有一句很经典的话,万物皆对象。既然是面向对象的,那就有面向对象的三大特征:封装、继承、多态。这里讲的是JavaScript的继承,其他两个容后...

痴情小云
2018/06/26
0
0

没有更多内容

加载失败,请刷新页面

加载更多

64.监控平台介绍 安装zabbix 忘记admin密码

19.1 Linux监控平台介绍 19.2 zabbix监控介绍 19.3/19.4/19.6 安装zabbix 19.5 忘记Admin密码如何做 19.1 Linux监控平台介绍: 常见开源监控软件 ~1.cacti、nagios、zabbix、smokeping、ope...

oschina130111
今天
13
0
当餐饮遇上大数据,嗯真香!

之前去开了一场会,主题是「餐饮领袖新零售峰会」。认真听完了餐饮前辈和新秀们的分享,觉得获益匪浅,把脑子里的核心纪要整理了一下,今天和大家做一个简单的分享,欢迎感兴趣的小伙伴一起交...

数澜科技
今天
7
0
DNS-over-HTTPS 的下一代是 DNS ON BLOCKCHAIN

本文作者:PETER LAI ,是 Diode 的区块链工程师。在进入软件开发领域之前,他主要是在做工商管理相关工作。Peter Lai 也是一位活跃的开源贡献者。目前,他正在与 Diode 团队一起开发基于区块...

红薯
今天
13
0
CC攻击带来的危害我们该如何防御?

随着网络的发展带给我们很多的便利,但是同时也带给我们一些网站安全问题,网络攻击就是常见的网站安全问题。其中作为站长最常见的就是CC攻击,CC攻击是网络攻击方式的一种,是一种比较常见的...

云漫网络Ruan
今天
12
0
实验分析性专业硕士提纲撰写要点

为什么您需要研究论文的提纲? 首先当您进行研究时,您需要聚集许多信息和想法,研究论文提纲可以较好地组织你的想法, 了解您研究资料的流畅度和程度。确保你写作时不会错过任何重要资料以此...

论文辅导员
今天
8
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部