由圆构造圆柱
【问题描述】
【输入形式】
【输出形式】
【样例输入】
【样例输出】
【样例说明】
【评分标准】
//Circle.h #include<iostream> using namespace std; class Circle { public: Circle(void); Circle(float r); //定义一个圆 float getArea(); //圆的面积 float getGirth(); //圆的周长 static const float PI ; protected: float mR; //圆的半径 }; const float Circle::PI=3.14; Circle::Circle(void) { mR=0; } Circle::Circle(float r):mR(r) { } float Circle::getArea() { return PI*mR*mR; } float Circle::getGirth() { return 2*PI*mR; } //main.cpp //#include"Cylinder.h" //#include"Circle.h" class Cylinder:public Circle { public: Cylinder(float t,float m):Circle(t) { mH=m; } float getArea() { return Circle::getGirth()*mH+2*Circle::getArea(); } float getVol() { return Circle::getArea()*mH; } private: float mH; }; //main.cpp //#include"Cylinder.h" //#include"Circle.h" #include<iostream> using namespace std; int main() { float t, m; cout << "请输入圆的半径:"; cin >> t; //键盘接收圆的半径 Circle c1(t); cout <<"圆的面积为:"<< c1.getArea() << endl; cout << "请输入圆柱的高:"; cin >> m; //键盘接收圆柱的高 Cylinder c2(t, m); cout <<"圆柱的表面积为:"<< c2.getArea() << endl; cout <<"圆柱的体积为:"<< c2.getVol() << endl; }
编写长方体
【问题描述】利用给定的矩形类,编写长方体类
【输入形式】
【输出形式】
【样例输入】
【样例输出】
【样例说明】
【评分标准】
class Rect { public: Rect(float l, float w); //定义矩形接受长和宽 float getArea(); //矩形面积 protected: float mLength; //定义长 float mWidth; //定义宽 }; Rect::Rect(float l,float w) { mLength=l; mWidth=w; } float Rect::getArea() { return mLength*mWidth; } class cubiod:public Rect { public: cubiod(float l,float w,float h); float getVol(); float Area(); private: float mHeight; }; cubiod::cubiod(float l,float w,float h):Rect(l,w) { mHeight=h; } float cubiod::getVol() { return Rect::getArea()*this->mHeight; } float cubiod::Area() { return 2*Rect::getArea()+2*this->mLength*this->mHeight+2*this->mWidth*this->mHeight; } #include<iostream> using namespace std; int main() { int j, k, l; cout << "请输入矩形的长和宽:"; cin >> j >> k; //键盘接收长和宽 Rect r1(j, k); cout <<"矩形的面积为:"<< r1.getArea() << endl; cout << "请输入立方体的高:"; cin >> l; //接受高 cubiod c1(j,k,l); cout <<"立方体体积为:"<< c1.getVol() << endl; cout <<"立方体表面积为:"<< c1.Area(); return 0; }
1.继承具有(),即当基类本身也是某一个类的派生类时,底层的派生类会自动继承间接基类的成员
B
A 规律性
B 传递性
C 重复性
D 多样性
- 下面对派生类的描述错误的是
D
A 一个派生类可以作为另外一个派生类的基类
B 派生类至少有一个基类
C 派生类的成员除了它自己的成员外,还包含了它的基类的成员
D 派生类中继承的基类成员的访问权限在派生类中保持不变
#include<iostream > using namespace std; class A{ public: A(){cout<<“A”;} ~A(){cout<<“-A”;} }; class B:public A{ A*p; public: B(){cout<<“B”;p=new A();} ~B(){cout<<“-B”; delete p;} }; int main() { B obj; return 0; }
执行这个程序的输出结果是( )
B
A BAA-A-B-A
B ABA-B-A-A
C BAA-B-AA
D ABA-AB-A
有以下程序:
#include<iostream > using namespace std; class Base{ public: void fun(){cost<<“Base::fun”<<endl;} }; class Derived:public Base{ public: void fun(){ _______________ cout<<“Derived::fun”<<endl; } }; int main() { Derived d; d.fun(); return 0;}
已知其执行后的输出结果为:
Base::fun
Derived::fun
则在程序中下划线处应填入的语句是( )。
B
A Base.fun( );
B Base::fun( );
C Base->fun( );
D fun( );