10、l;};
};
void main()
{ Base obj1, *p; Derived1 obj2; Derived2 obj3;
p=&obj1; p->abc();
p=&obj2; p->abc();
p=&obj3; p->abc();
obj1.abc(); obj2.abc(); obj3.abc();
}
5、#include
class parent_class
{ int private1 , private2 ;
public :
par
11、ent_class ( int p1 , int p2 )
{ private1 = p1; private2 = p2; }
int inc1 ()
{ return ++ private1; }
int inc2 ()
{ return ++ private2 ; }
void display ()
{cout << "private1=" << private1 << " , private2=" << private2 << endl ; }
};
class derived
12、class : private parent_class
{ int private3 ;
parent_class private4 ;
public:
derived_class ( int p1 , int p2 , int p3 , int p4 , int p5 ): parent_class ( p1 , p2 ) , private4 ( p3 , p4 )
{ private3 = p5 ; }
int inc1 ( )
{ return parent_class :: inc
13、1 ( ) ; }
int inc3 ( )
{ return ++ private3 ; }
void display ( )
{ parent_class :: display ( ) ; private4.display ( ) ;
cout << "private3=" << private3 << endl ; }
} ;
void main ( )
{ derived_class d1 ( 17 , 18 , 1 , 2 , -5 ) ;
d1 . inc1 ( )
14、
d1 . display ( ) ;
}
6、#include
class A
{ public :
A(int n) {i=n ; cout<<“初始化i的值为:”<15、nt m) : A(n){ j=m ; cout<<“初始化j的值为:”<
class A
{ pub
16、lic:
virtual void act1();
void act2() {act1();}
};
void A::act1(){ cout<<"A::act1() called. "<17、c :
COMPLEX(double r=0, double i=0) ;
COMPLEX operator-(const COMPLEX & other) ;
COMPLEX operator=(const COMPLEX & other) ;
private :
double real=0, image=0 ;
};
void main()
{ float x ;
COMPLEX y (10,20), z (2,3), sum ;
sum= x-y ;
sum=sum-z ;
sum-- ;
}
18、
四、编程题:(20分,每题10分)
1.使用虚函数编程求球体和圆柱体的体积及表面积。由于球体和圆柱体都可以看作由圆继承而来,所以可以定义圆类circle 作为基类。在 circle 类中定义一个数据成员 radius 和两个虚函数area( ) 和 volume( ) 。由circle 类派生 sphere 类和 column 类。在派生类中对虚函数 area( ) 和 vlume( ) 重新定义,分别求球体和圆柱体的体积及表面积。补充指定部分。
#include
const double PI=3.14;
class circle
{pu
19、blic:
circle(double r){radius=r;}
//补充此处
protected:
double radius;
};
class sphere:public circle
{public:
sphere(double r):circle(r){}
double area(){return 4.0*PI*radius*radius;}
double volume()
{return 4.0*PI*radius*radius*radius/3.0;
20、}
};
class column: public circle
{ //补充此处
};
void main()
{int a,b,c;
circle *p;
cout<<"输入球体半径"<>a;
sphere sobj(a);
p=&sobj;
cout<<"球体的体积="<< //补充此处
cout<<"球体的表面积="<< //补充此处
cout<<"输入圆柱体的半径,高"<>b>>c;
column cobj(b,c);
p=&cobj;
cout<<"圆柱体的体积="<volume()<area()<