本文目录
C++程序解答!由点类派生出圆类
friend ostream & operator《《(ostream &, const Point &);这句声明这个函数为友元函数,友元函数不是这类的成员函数,但可以调用这个类中的成员变量。这个函数用于重载《《运算符,使之能够输出Point类的对象virtual void shapeName() const {cout《《"Circle:";}首先要知道const是表明这个函数是不变的,正如const int a,a的值是不能改变的。那么这个函数声明为const说明这个函数不能改变类里面的成员,例如:void shapeName1() const {radius = 1;} //这样是错误的,radius是类Circle的成员变量。这个有别于const float shapeName1() {return radius;} ,这里是修饰返回值,说明返回值是不可修改的。Circle::Circle(float a,float b,float r):Point(a,b),radious(r){}其实这个相当于Circle::Circle(float a,float b,float r){Point(a, b);radious = r}这个是用来初始化成员变量的,用上面那样才是初始化。下面的能够有同样的效果,但这不是初始化,而是赋值,初始化是在赋值之前的。ostream &operator 《《 (ostream &output,const Circle &c)&c就是取c所在的地址,这个必须是传地址才能正常输出,如果是传值,是不能打印结果的。
c++派生类
class jiaoshi{private: string menhao; string zuoweihao; int zuoweishu; float mianji;public: jiaoshi(); ~jiaoshi(); } friend ostream& operator《《 ( ostream &os, const jiaoshi &js ); friend ostream& operator《《 ( ostream &os, const jiaoshi &js );