一道VC++题目,求详细的解释
#include<iostream.h>
class A{
float x,y,r; //描述一个圆,(x,y)为圆心,r为半径
public:
A(float a,float b,float c)
{x=a;y=b;r=c;}
void Setx(float a){x=a;}
void Sety(float a){y=a;}
void Setr(float a){r=a;}
float Getx(){return x;}
float Gety(){return y;}
float Getr(){return r;}
float Area(){return(r*r*3.14159);}
};
class B{
float High;
public:
B(float a)
{High=a;}
void SetHigh(float a){High=a;}
float GetHigh(){return High;}
};
class C:public A,private B //描述一个圆柱体
{
float Volume; //圆柱体的体积
public:
C(float a,float b,float c,float d):A(a,b,c),B(d)
{
Volume=Area()*GetHigh();
};
float GetVolume(){return Volume;}
}
void main()
{
A a1(6,8,9);
B b1=23;
C c1(1,2,3,4);
cout<<"Volume="<<c1.GetVolume()<<'\n';
}这个程序对吗,请问C c1(1,2,3,4)有什么意义呢,上面不是6,8,9,23,到底是什么意思呢
答案:C c1(1,2,3,4) 是创建了一个新的C类的对象c1,和对象a1,b1没有关系啊,所以计算结果是这个圆柱的面积PI*r^2 * height = 113.97
其他:这行B b1=23不对吧,哪有整形变量直接赋值给对象的。前三句就是变量声明 这程序不对吧,且不说B b1=23;对不对,C c1(1,2,3,4);
就和前面的6,8,9,23无任何关系 任务
上一个:一道VC++的题目
下一个:vc mfc对话框中怎么通过一个按钮通过串口往外发一个十进制整数