AbstractPolymorphismTest.cpp
Dosyayı İndir
#include <iostream>
#include <locale.h>
using namespace std;
class fish{
public :
char *name;
virtual void swim()=0;
};
class anchovy : public fish{
public :
void swim(){
cout<<name<<" y�z�yor.."<<endl;
}
};
class mackerel : public fish{
public :
void swim(){
cout<<name<<" y�z�yor.."<<endl;
}
};
class pool{
public :
fish **fishes;
int count;
pool(int n){
count=n;
fishes=new fish*[count];
}
void set_fish(int i,fish *f){
fishes[i]=f;
}
fish *get_fish(int i){
return fishes[i];
}
void swim_all(){
cout<<"Havuzda y�zenler : "<<endl;
for(int i=0;i<count;i++){
get_fish(i)->swim();
}
}
};
int main0302(){
setlocale(LC_ALL,"Turkish");
fish *fp1;
fp1=new anchovy();
fp1->name="Karadeniz Hamsisi";
fp1->swim();
fish *fp2;
fp2=new mackerel();
fp2->name="Karadeniz Uskumrusu";
fp2->swim();
pool p(2);
p.set_fish(0,fp1);
p.set_fish(1,fp2);
p.swim_all();
return 0;
}
Dosyayı İndir