【发布时间】:2015-01-19 10:35:42
【问题描述】:
我正在编写以下结构:
class F {
protected:
F* i;
public:
F(){i=NULL;}
virtual F* clone()const=0;
virtual double operator()(double x)const=0;
virtual F* derivative()const=0;
virtual double inverse(double y)const=0;
virtual ~F(){}
};
class T : public F{
string n;
public:
T(string n_);
F* clone()const;
double operator()(double x)const;
F* derivative()const;
double inverse(double y)const;
~T(){}
};
我现在正在编写方法“T::derivative”。我的前两行是:
F* T::derivative()const
{
F* deriv;
deriv->i=clone();
}
F* T::clone()const
{
return new T(n);
}
但是 Xcode 在 'T::derivative' 的第二行告诉我 'i' is a protected member of 'F。
我不明白为什么当我在“T”中时无法访问它,它继承自“F”。
【问题讨论】: