第10-11周项目:继承与派生

/*     
 *Copyright(c)2016,烟台大学计算机学院     
 *All right reserved.     
 *文件名称:test.cpp     
 *作者:黄金婵     
 *完成日期:2016年6月13日     
 *版本号:v1.0     
 *     
 *问题描述:观察基类A中成员的访问权限制以及派生类B中对这些成员的访问方法。 
 *输入描述:     
 *程序输出:     
 */
#include<iostream>
using namespace std;
class  A
{
private:
    int  x;
protected:
    int y;
public:
    int z;
    A(int a,int b,int c)
    {
        x=a;    
        y=b;
        z=c;
    }
    int  Getx() {return x; }
    int  Gety() {return y; }
    void ShowA() {
        cout<< "x="<<x<<'\t';
        cout<<"y="<<y<<'\t';
        cout<<"z="<<z<<'\n';
    }
};
class B:public A   
{
private:
    int m,n;
public:
    B(int a,int b,int c,int d,int e):A(a,b,c)
    {
        m=d;
        n=e;
    }
    void Show(){
        cout<<"m="<<m<<'\t'<<"n="<<n<<'\n';
        cout<<"x="<<Getx()<<'\t';
        cout<<"y="<<y<<'\t'<<"z="<<z<<'\n';
    }
    int Sum()
    {
        return (Getx()+y+z+m+n);
    }
};
int main(){
    B b1(1,2,3,4,5);  
    b1.ShowA();
    b1.Show();
    cout<< "Sum="<<b1.Sum()<<'\n';
    cout<<"x="<<b1.Getx()<<'\t';
    cout << "y=" <<b1.Gety()<<'\t';
    cout << "z="<<b1.z<<'\n';
    return 0;
}

总结:

       将class B:public A 中的public改为protected或者删除,对程序进行编译后,会出现一个错误,原本共有访问的变成保护访问后,B类中无法正常访问。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值