文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>C++程序习题-修改公用继承[5.4]

C++程序习题-修改公用继承[5.4]

时间:2010-11-25  来源:chengxiaopeng

    修改例5.3的程序,改为公用继承方式。上机调试程序,使之能正确运行并得到正确结果。对这两种继承方式做分析比较,考虑在什么情况下二者不能互相替换。
 

#include <iostream>
using namespace std;
class Student
{
    public:
    void get_value();
    void display();
        
    protected:
    int num;
    string name;
    char sex;
};

void Student :: get_value()
{
    cin >> num >> name >> sex;
}

void Student :: display()
{
    cout << "num:" << num << endl;
    cout << "name:" << name << endl;
    cout << "sex:" << sex << endl;
}

class Student1:public Student
{
    public:
    void display_1();
    void get_value1();
     
    private:
    int age;
    string addr;
};

void Student1 :: display_1()
{
    cout << "num:" << num << endl;
    cout << "name:" << name << endl;
    cout << "sex:" << sex << endl;
    cout << "age:" << age << endl;
    cout << "address:" << addr << endl;
}

void Student1 :: get_value1()
{
     cin >> num >> name >> sex >> age >> addr;
}

int main()
{
    Student1 stu;
    stu.get_value1();
    stu.display_1();
    system("pause");
    return 0;
}


在上述的代码中,其实是没有什么区别,因为如果采用public继承方式,则父类的访问方式保持不变。而portected继承方式,则除了父类的private的访问方式仍然为不可访问,而其它的(public,protected) 都为protectd。因此当为了保护父类的成员还是采用protectd方式比较好。
相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载