当前位置:编程学习 > 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,到底是什么意思呢
答案:你这程序还要改一下
#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控件

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