C++类继承 protected成员为一个随机值?是怎么回事
写了一个求圆锥的类 通过多重继承"圆类"和"高类" 求圆锥的体积 R为圆类的保护成员 high为高类的保护成员
写了行测试代码,运行不正确,跑了个断点看了看 R的值是总是一个随机值 不知道问题出在哪里?
源码如下:
1:main()函数
#include "stdafx.h"#include "Circle.h"#include "Cone.h"#include "Line.h"int _tmain(int argc, _TCHAR* argv[]){ Circle temp(2); Line p(12); Cone tm; tm.Cone_area(); system("pause"); return 0;}
#pragma once//#define PI 3.14#include "stdafx.h"class Circle{protected: int R;public: Circle(void); Circle(int r) { R = r; } double Circle_area() { return 3.14*Circle::R*Circle::R; }public: ~Circle(void);};
#pragma once#include "stdafx.h"#include "Circle.h"class Line{protected: int High;public: Line(void); Line(int high) { High = high; } public: ~Line(void);};
#pragma once#include "stdafx.h"#include "Circle.h"#include "Line.h"class Cone : public Circle,public Line{public: Cone(void); void Cone_area() { cout<<"圆锥的体积为:"<<Circle::Circle_area()*Line::High/3<<endl; }public: ~Cone(void);};