包含的类的写法
class Student{
private:
string name; //use a string object for name
valarray<double> scores; //use a val
}
私有继承的类的写法
class Student : private std::string,private std::valarray<double>{
public:
……
}
使用包含时将使用对象名来调用方法,而使用私有继承时将使用类名和作用域解析运算符来调用方法
包含调用
double Student::Average() const{
if(scores.size()>0)
return scores.sum()/scores.size();
else
………………
}
其中scores
就是对象名
私有继承调用
double Student::Average() const{
if(Average::size()>0)
return Average::sum()/Average::size();
else
………………
}
这里Average
是**类名,**而::
是作用域解析运算符