当前位置:编程学习 > VC++ >>

一道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对话框中怎么通过一个按钮通过串口往外发一个十进制整数

CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,