正文

如何初始化2006-12-02 17:25:00

【评论】 【打印】 【字体: 】 本文链接:http://blog.pfan.cn/yuqiexing/21177.html

分享到:

1.想一下这个问题,现在在MFC的类中定义了一个成员数组,要初始化,怎么办?

比如:

  本来想:int a[5]={1,2,3,4,5};

但是定义在类中,是不能像上面这样初始化的,只能一个一个的初始化。还真是不好办。

你有好方法吗?

 

 

不过,如果是静态成员,就很好办了。如在类中的定义:

static const CRect m_rcSquares[9];

//9个矩形。

初始化的语句可以写在源文件中:

const CRect COXgameDlg::m_rcSquares[9]={

           CRect(16,16,112,112),

              CRect(128,16,224,112),

              CRect(240,16,336,112),

              CRect(16,128,112,224),

              CRect(128,128,224,224),

              CRect(240,128,336,224),

              CRect(16,240,112,336),

              CRect(128,240,224,336),

              CRect(240,240,336,336)

};

这样是可以的。

 

2.还有一种情况也比较常见。就是定义了一个类对象为成员变量。现在想初始化。一时竟然不知道如何下手。

比如:

  Student s;

这是在另一个类中定义了s,学生类的对象。还没有调用它的构造函数初始化。到底怎样才能调用它本身的构造函数初始化呢?问了高手,后来才知道是自己的c++语法不过关。像这种情况在源文件中初始化的方法如下:

  s=Student(name,sex,age,major,school);//姓名,性别,年龄,专业,学校

 

所以我希望大家在学习MFC的过程中要不断回头看c++语法,所以流传很多人是为了学习MFC才学C++的。当然这也是很多编程高手的箴言,值得借鉴!

阅读(5432) | 评论(0)


版权声明:编程爱好者网站为此博客服务提供商,如本文牵涉到版权问题,编程爱好者网站不承担相关责任,如有版权问题请直接与本文作者联系解决。谢谢!

评论

暂无评论
您需要登录后才能评论,请 登录 或者 注册