一道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,到底是什么意思呢
答案:你这程序还要改一下
#include<iostream>
using namespace std;
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;}
double 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)表示圆心x,y,r,high
而c1是新建的一个对象
还有你的程序有很多的地方不需要
上一个:学习VC++应该看哪些书?
下一个:在VC中动态创建Button控件