《类的初始化问题》

qq_26693145 2015-09-08 11:06:17
如下程序,编译的时候出错,说是Game()函数重载。因为类中有很多参数,请问该如何对这个Game类进行初始化?初始化时放在Game.h文件好,还是放在Game.cpp文件里好?

#pragma once
#include <afxwin.h>
#include"resource.h"
class Game //Game类
{
private:
short numplane;//我方飞机数量
int back[15][12];//背景数组
int xStart, yStart;//飞机出现位置
bool iffire;//是否出现
int fire;//火力强度
public:
void DrawMessage(CDC* pDC, int width, int height);//
void FireOutIf();//
void shotmove();//
void Enemyshot();//
void Enemyplaneout();//
void Shot();//
void TransparentBitmap(HDC hdc, HBITMAP hbitmap, short xStart, short yStart, short xadd, short yadd, COLORREF cTransparentColor);//
Game();
COLORREF cTransparentColor;//透明色
CBitmap enemy;
CBitmap bmenemyshot;
CBitmap enemydead;//飞机爆炸位图
CBitmap bmshot;//我方子弹
CBitmap plane;//我方飞机
CBitmap bmfire;//火力位图
CPoint pointfire;//火力位置
};

Game:: Game()
{
int i, j;
plane.LoadBitmapW(IDB_BITMAP2);
bmshot.LoadBitmapW(IDB_BITMAP4);
enemy.LoadBitmapW(IDB_BITMAP3);
enemydead.LoadBitmapW(IDB_BITMAP5);
bmenemyshot.LoadBitmapW(IDB_BITMAP6);
bmfire.LoadBitmapW(IDB_BITMAP7);

cTransparentColor = RGB(192, 192, 192);
numplane = 5;
xStart = 5;
yStart = 10;
iffire = false;
fire = 0;
for (i = 0; i < 15; i++)//背景数组
for (j = 0; j < 12; j++)
back[i][j] = 0;
}
...全文
116 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
l357630798 2015-09-10
  • 打赏
  • 举报
回复
放在.cpp的构造函数里面。初始化时,最好使用参数初始化列表进行初始化,这样的效率是最高的。
信阳毛尖 2015-09-09
  • 打赏
  • 举报
回复
类的成员函数的定义,一般有两种写法,一种是与声明写在一块儿,即声明的时候就定义,所以是不能写在.h文件类域外面的!如WTL、CEF大多采用这种方式; 另一种就是声明与定义,定义写在cpp中,这样结构比较清晰,方便阅读和代码管理
worldy 2015-09-09
  • 打赏
  • 举报
回复
Game:: Game() { int i, j; plane.LoadBitmapW(IDB_BITMAP2); bmshot.LoadBitmapW(IDB_BITMAP4); enemy.LoadBitmapW(IDB_BITMAP3); enemydead.LoadBitmapW(IDB_BITMAP5); bmenemyshot.LoadBitmapW(IDB_BITMAP6); bmfire.LoadBitmapW(IDB_BITMAP7); cTransparentColor = RGB(192, 192, 192); numplane = 5; xStart = 5; yStart = 10; iffire = false; fire = 0; for (i = 0; i < 15; i++)//背景数组 for (j = 0; j < 12; j++) back[i][j] = 0; } 放到cpp文件中
dustpg 2015-09-08
  • 打赏
  • 举报
回复
Game:: Game()扔到源文件或者在声明时就实现

16,472

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧