zoukankan      html  css  js  c++  java
  • 自考新教材-p200

    源程序:

    #include<iostream>
    #include<string>
    using namespace std;

    class Base
    { //基类的3种访问控制类型成员变量
    public:
    int vBPub;
    protected:
    int vBPro;
    private:
    int vBPri;
    public: //基类的公有成员函数
    Base()
    {
    vBPub=10;
    vBPro=20;
    vBPri=30;
    };
    void SetPriValue(int);
    void SetProValue(int,int);
    int GetPriValue();
    int GetProValue();
    };

    void Base::SetPriValue(int k)
    {
    vBPri=k; //直接访问基类的成员变量
    }
    void Base::SetProValue(int m,int n)
    {
    vBPro=m; //直接访问基类的成员变量
    vBPri=n;
    }
    int Base::GetPriValue()
    {
    return vBPri; //直接访问基类的成员变量
    }
    int Base::GetProValue()
    {
    return vBPro; //直接访问基类的成员变量
    }

    class Derived:public Base //子类,公有继承于Base类
    {
    public:
    int vDPub,vBPub;
    protected:
    int vDPro;
    private:
    int vDPri;
    public: //派生类的公有成员函数
    Derived()
    {
    vDPub=100; //直接访问派生类的成员变量
    vDPro=200;
    vDPri=300;
    vBPub=15;
    };
    void SetPriValue(int);
    void SetProValue(int,int);
    int GetPriValue();
    int GetProValue();
    void PrintValue();
    };
    void Derived::SetPriValue(int k)
    {
    vDPri=k; //直接访问派生类的成员变量
    }
    void Derived::SetProValue(int m,int n)
    {
    vDPro=m; //直接访问派生类的成员变量
    vDPri=n;
    Base::vBPro=2*m; //可以直接访问从基类继承的保护成员变量
    //Base::vBpri=2*n; //不可以直接访问从基类继承的私有成员变量
    }
    int Derived::GetPriValue()
    {
    return vDPri; //直接访问派生类的成员变量
    }
    int Derived::GetProValue()
    {
    return vDPro; //直接访问派生类的成员变量
    }

    void Derived::PrintValue()
    {
    cout<<"在派生类中访问基类"<<endl;
    cout<<"基类公有变量:"<<vBPub<<endl; //派生类可以访问基类的公有成员变量
    cout<<"基类保护变量:"<<vBPro<<endl; //派生类可以访问基类的保护成员变量
    //cout<<Base::vBPri<<endl; //不能直接访问基类的私有变量
    cout<<"基类私有变量:"<<Base::GetPriValue()<<endl; //通过函数访问
    cout<<"在派生类中访问派生类"<<endl;
    cout<<"派生类公有变量:"<<vDPub<<endl; //可以直接访问
    cout<<"派生类保护变量:"<<vDPro<<endl; //可以直接访问
    cout<<"派生类私有变量:"<<vDPri<<endl; //可以直接访问
    cout<<"从基类继承的公有变量:"<<Base::vBPub<<endl; //可以直接访问
    cout<<"从基类继承的保护变量:"<<Base::vBPro<<endl; //可以直接访问
    //cout<<"从基类继承的私有变量:"<<Base::vBPri<<endl; //不可以直接访问
    }

    int main()
    {
    Base bObj;
    Derived dObj;
    cout<<"在主函数中访问基类"<<endl;
    cout<<"公有成员:"<<bObj.vBPub<<endl; //类外可以访问基类的公有成员变量
    //cout<<"保护成员:"<<bObj.vBPro<<endl; //不能直接访问保护成员变量
    cout<<"保护成员:"<<bObj.GetProValue()<<endl; //通过函数访问
    cout<<"私有成员:"<<bObj.GetPriValue()<<endl; //通过函数访问
    cout<<"在主函数中访问派生类"<<endl;
    cout<<"公有成员:"<<dObj.vDPub<<endl; //类外可以访问派生类的公有成员变量
    //cout<<"保护成员:"<<dObj.vDPro<<endl; //不能直接访问保护成员变量
    cout<<" 保护成员:"<<dObj.GetProValue()<<endl; //通过函数访问
    cout<<"基类 保护成员:"<<dObj.Base::GetProValue()<<endl; //通过函数访问
    cout<<"私有成员:"<<dObj.GetPriValue()<<endl; //通过函数访问
    cout<<"dObj.vBPub="<<dObj.vBPub<<endl;
    cout<<"dObj.Base::vBPub="<<dObj.Base::vBPub<<endl;
    dObj.PrintValue();

    return 0;
    }

    运行结果:

  • 相关阅读:
    如何利用JMeter模拟超过 5 万的并发用户
    JQUERY插件JqueryAjaxFileUplaoder----更简单的异步文件上传
    jmeter内存溢出处理方式记录
    JMeter压力测试入门教程[图文]
    本机Tomcat启动myeclipse,用Jmeter录制脚本端口冲突解决办法
    Jmeter 录制脚本
    Jmeter基础之---jmeter基础概念
    Jmeter性能测试 入门
    SSH Secure Shell Client安装和使用
    面向对象2
  • 原文地址:https://www.cnblogs.com/duanqibo/p/12259880.html
Copyright © 2011-2022 走看看