Original Post
Right, have been working on my first actual game project for about a week now. I have my graphics functions starting to come along nicely, I can create surfaces etc.. I have written a cImagelist class to handle a list of DirectDraw surfaces, and am now working on using that list in my sprite classes. I am now starting to create my general sprite class, cSprite. From which I would like to create cPlayer, cEnemy, cPickup. Each one having different attributes but being based mainly on a sprite object. When I finally write the game, I would like to control all the cEnemy''s on my screen by calling a single function.. so I thought why not create a sprite manager, but I want the sprite manager to be able to control cEnemys and also control cSprites and cPickups. I have been told to look at virtual functions and I think that is what I am requiring. If I create a cManager list of cEnemies and then I create one of say, bullets coming out of the players weapon, firstly will it slow my code down, are there more efficient ways of doing this? Secondly, can I create functions specific to my cPlayer and cEnemy classes, but still invoke them using my Manager class? This is new to me and the design is something I want to get pretty much right..