实验11 继承(一)
【实验目的】
通过本实验,掌握类的public继承的概念。
【实验要求】
熟练掌握类的public继承方式。
【实验内容】
类 B 公有继承类 A 。
#include< c string>
#include<iostream>
using namespace std;
const int N=4;
class C{
private:
char c[10];
int t[N];
public:
C(char *p){strcpy(c,p);}
char *cf1(){ return c; }
int *cf2(){ return t; }
void cf3();
};
void C::cf3(){
cout<<"course value: ";
for(int i=0;i<N;i++)cin>>t[i];//input: 4 4 4 3
}
class A{
protected:
void af3(){cout<<endl<<"Please input "; }
public:
void af1(int *p,int n);
float af2(int *p,int n,int *m);
};
void A::af1(int *p,int n){
cout<<"student score: ";
for(int i=0;i<n;i++)cin>>p[i];//input: 80 65 60 60
}
float A::af2(int *p,int n,int *m){
for(int f=0,s=0,i=0;i<n;i++){
s+=p[i]*m[i]; f+=m[i];}
return (float)s/f;
}
class B: public A{
private:
C k;
int s[N];
float st;
public:
B():k("Zhao"),st(0){}
void bf(){
af3(); af1(s,N);
af3(); k.cf3();
st=af2(s,N,k.cf2());
cout<<k.cf1()<<"'s="<<st<<endl;
}
};
int main(){
B g;
g.bf();
return 0;
}