首先,在进行一个工程构建的时候,不能为了方便而把所有基类数据成员设置为公有。
在调用过程中,基类中私有类型的数据成员不能在派生类中直接调用,需要用到一个get()形式的访问函数才能在子类中访问对应的基类数据成员。
class Coordinate
{
public:
int getx();
private:
int x;
};
int Coordinate::getx()
{
return x;
}
我们要访问上述基类中的x,那么就需要在公有成员里有一个getx()这样的函数来返回对应的值。
如果不通过在访问函数来调用基类中的数据成员,则就需要把基类中的数据成员写成保护类型,保护类型在派生类中可以直接调用,不需要经过访问函数。
class Coordinate
{
public:
int getx();
protected:
int x;
};