虚函数,播放声音以及随机数的使用
#include <iostream>
using namespace std;
#include <time.h>
#include <cmath>
#include <windows.h>
#include <mmsystem.h>
#pragma comment(lib,"WINMM.LIB")
class Music
{
public:
Music(){}
virtual ~Music(){}
virtual void sound()=0;
};
class ring1:public Music
{
public:
ring1(){}
virtual ~ring1(){}
virtual void sound()
{
cout<<"正在播放ring1......"<<endl;
PlaySoundA("C:\\Windows\\Media\\Ring01.wav",NULL,0);
system("cls");
}
};
class ring2:public Music
{
public:
ring2(){}
virtual ~ring2(){}
virtual void sound()
{
cout<<"正在播放ring2......"<<endl;
PlaySoundA("C:\\Windows\\Media\\Ring02.wav",NULL,0);
system("cls");
}
};
class ring3:public Music
{
public:
ring3(){}
virtual ~ring3(){}
virtual void sound()
{
cout<<"正在播放ring3......"<<endl;
PlaySoundA("C:\\Windows\\Media\\Ring03.wav",NULL,0);
system("cls");
}
};
class ring4:public Music
{
public:
ring4(){}
virtual ~ring4(){}
virtual void sound()
{
cout<<"正在播放ring4......"<<endl;
PlaySoundA("C:\\Windows\\Media\\Ring04.wav",NULL,0);
system("cls");
}
};
class ring5:public Music
{
public:
ring5(){}
virtual ~ring5(){}
virtual void sound()
{
cout<<"正在播放ring5......"<<endl;
PlaySoundA("C:\\Windows\\Media\\Ring05.wav",NULL,0);
system("cls");
}
};
class ring6:public Music
{
public:
ring6(){}
virtual ~ring6(){}
virtual void sound()
{
cout<<"正在播放ring6......"<<endl;
PlaySoundA("C:\\Windows\\Media\\Ring06.wav",NULL,0);
system("cls");
}
};
class ring7:public Music
{
public:
ring7(){}
virtual ~ring7(){}
virtual void sound()
{
cout<<"正在播放ring7......"<<endl;
PlaySoundA("C:\\Windows\\Media\\Ring07.wav",NULL,0);
system("cls");
}
};
class ring8:public Music
{
public:
ring8(){}
virtual ~ring8(){}
virtual void sound()
{
cout<<"正在播放ring8......"<<endl;
PlaySoundA("C:\\Windows\\Media\\Ring08.wav",NULL,0);
system("cls");
}
};
class ring9:public Music
{
public:
ring9(){}
virtual ~ring9(){}
virtual void sound()
{
cout<<"正在播放ring9......"<<endl;
PlaySoundA("C:\\Windows\\Media\\Ring09.wav",NULL,0);
system("cls");
}
};
class ring10:public Music
{
public:
ring10(){}
virtual ~ring10(){}
virtual void sound()
{
cout<<"正在播放ring10......"<<endl;
PlaySoundA("C:\\Windows\\Media\\Ring10.wav",NULL,0);
system("cls");
}
};
void sound(Music *song)
{
song->sound();
}
int main()
{
Music* pt=NULL;
for(int i=0;i<100;i++)
{
srand(time(NULL));
int k=rand()%10+1;
switch(k)
{
case 1:
{
pt=new ring1;
sound(pt);
delete pt;
}break;
case 2:
{
pt=new ring2;
sound(pt);
delete pt;
}break;
case 3:
{
pt=new ring3;
sound(pt);
delete pt;
}break;
case 4:
{
pt=new ring4;
sound(pt);
delete pt;
}break;
case 5:
{
pt=new ring5;
sound(pt);
delete pt;
}break;
case 6:
{
pt=new ring6;
sound(pt);
delete pt;
}break;
case 7:
{
pt=new ring7;
sound(pt);
delete pt;
}break;
case 8:
{
pt=new ring8;
sound(pt);
delete pt;
}break;
case 9:
{
pt=new ring9;
sound(pt);
delete pt;
}break;
case 10:
{
pt=new ring10;
sound(pt);
delete pt;
}break;
}
}
return 0;
}
结果
