码迷,mamicode.com
首页 > 其他好文 > 详细

补充阅读程序-2

时间:2016-05-12 21:25:30      阅读:150      评论:0      收藏:0      [点我收藏+]

标签:

/*copyright(c)2016.烟台大学计算机学院
 * All rights reserved,
 * 文件名称:text.Cpp
 * 作者:刘涛
 * 完成日期:2016年5月9日
 * 版本号:vc++6.0
 */
 #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   //如果改为protected,会发生错误,原因是保护继承,基类中的公有成员和保护成员在派生类中都以保护成员的身份出现
{
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;
}
运行结果:
<img src="http://img.blog.csdn.net/20160509120505051?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" />
分析:
由于x是私有的,所以不能直接访问,通过成员函数来访问,y,z直接可以访问。

补充阅读程序-2

标签:

原文地址:http://blog.csdn.net/lemon_lebron/article/details/51352041

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!