访问受保护的继承

时间:2014-01-11 16:11:37

标签: c++ inheritance

我必须继承受保护的基类成员,并在派生时保持受保护。 例如:基类具有set()和get()保护,并且它们也应该在派生中受到保护。 问题是因为它们在派生时受到保护,所以如何访问。

实际上我试图这样做:

#include<iostream>
#include<string>
using namespace std;
class Animal
{
protected:
    string name;
    void setName(string a){ name = a; }

    void getName(){ cout << name << endl; }


};
class Cat :public Animal
{
public:
      Cat(string dc){
        setName(dc);
}
       void printName(){ getName(); }
};
class Dog :public Animal
{
public:

    Dog(string dc2){
    setName(dc2);
    }

    void printName(){ getName(); }
};
int main()
{
    Cat c("Mano");
    c.printName();
    Dog d("Tommy");
    d.printName();

   system("pause");
    return 0;
}   

0 个答案:

没有答案