11.1:派生类的使用

来源:互联网 发布:淘宝如何认证企业店铺 编辑:程序博客网 时间:2024/06/06 05:39

 

定义

定义

自己概述

类的一中继承方式

~派生类就是将父类的元素(不含私有)作为~方式来继承

文本概述

派生类==子类

单继承+多继承(拥有基类数目的多少)

基类所有性质+自身独特性质

定义形式

class 派生类名:派生类方式 基类名{}

继承方式

继承方式

基类成员

public

公有继承

protected

保护继承

private

私有继承

存在地点

public

public

Protected

Private

任何

protected

protected

protected

Private

基类+子类+友元

private

private

不可访问

不可访问

基类+友元

[定义+继承方式]代码练习

/*
* 题目名称:派生类的调用应用
* 输出:the result of ob.getp() is:  +145
/10+20+30
* 评论:派生类对基类成员的调用形式:直接+间接
无论是子类还是基类,在外部被访问时遵守的规则都是一样的
在调用类中的函数时要看清它是什么访问控制形式
* 难度系数:3
*/
#include <iostream>
using namespace std;
class A
{
private:
    int s;
protected:
    int r;                 //声明变量r为保护成员
public:
    int t;
    void setst(int n,int m)
    {
s=n; 
t=m;
}
    int gets()
    {  
return s;  
}
};
class B:protected A          //类B以保护继承的方式继承类A的成员
{
private:
    int p;
  public:
 void setsrp(int n,int m,int l)
 {  
 setst(n,m); 
 r=m;//可直接访问基类中保护继承的成员
 p=l;  
 }
 int getp()
 {  
 p=p+t*gets();  //通过基类的成员函数间接访问基类的私有成员
 return p;
 } 
};
void main()
{
B ob;
ob.setst(12,12);//非法,不能通过类外对象访问从基类保护继承来的成员
ob.setsrp(12,12,5);
cout<<"the result of ob.getp() is:  "<<ob.getp()<<endl;
system("pause");
}




0 0
原创粉丝点击