C++类的数据成员的初始化相关问题

原创 2013年12月02日 14:34:22

     可以使用构造函数进行过初始化数据成员,传参数是引用,或者不用传递参数直接进行初始化也可以:值得注意的是实参和形参的使用。

    也可以使用类中的成员函数进行初始化相关变量,不需要传递参数,直接定义临时变量,然后对临时变量进行的初始化,赋值给类的数据成员变量,完成对数据成员的初始化工作。

   

#pragma once
class CSetMineWnd
{
 public:
  CSetMineWnd(void);
  ~CSetMineWnd(void);
  int SetMineWindow();
 //private:
  CREATESTRUCT m_RectWindow;

};

 

 

int CSetMineWnd::SetMineWindow()
{
 int iRectCode = -1;
 //获得桌面的坐标,然后设置主窗口的位置
 RECT rect = {0};

 ::GetWindowRect(::GetDesktopWindow(),&rect);
 rect.left = rect.right - rect.left;
 rect.left /= 2;
 rect.top = rect.bottom - rect.top;
 rect.top /= 2;

 if( rect.left > 200)
 {
  rect.left -= 200;
 }
 if( rect.top > 150 )
 {
  rect.top -= 150;
 }

 rect.right = rect.left + 400;
 rect.bottom = rect.top + 300;

 CREATESTRUCT cs_TMain;

 cs_TMain.dwExStyle = 0;
 cs_TMain.lpszClass = NULL;
 cs_TMain.lpszName = NULL;
 cs_TMain.style = WS_OVERLAPPEDWINDOW;
#if 1
 cs_TMain.x = rect.left;
 cs_TMain.y = rect.top;
 cs_TMain.cx = 400;
 cs_TMain.cy = 300;
#endif
 cs_TMain.hwndParent = NULL;
 cs_TMain.hMenu = NULL;

 m_RectWindow = cs_TMain;//完成初始化工作

 return iRectCode;
}

 

相关文章推荐

C++类的数据成员初始化

1.类里面的任何成员变量在定义时是不能初始化的。 2.一般的数据成员可以在构造函数中初始化(如果不初始化,成员的值是随机的、不可预测)。 3.const数据成员必须在构造函数的初始化列表中初始化。 4...

C++类的const、static和const static数据成员的初始化

C++类的const、static和conststatic数据成员的初始化 参考:http://blog.csdn.net/yjkwf/article/details/6067267 http:/...
  • gukesdo
  • gukesdo
  • 2012年04月07日 19:04
  • 6980

C++类使用默认构造函数时各数据成员的初始化

在C++中,当我们没有为一个类定义构造函数时,编译器会自动生成一个默认的构造函数,这个时候可能生成的类对象中的数据成员跟我们所期待的值会不一样,接下来讨论一下当使用默认构造函数生成对象时类中各数据成员...

C++类成员和数据成员初始化总结

C++为类中提供类成员的初始化列表类对象的构造顺序是这样的:1.分配内存,调用构造函数时,隐式/显示的初始化各数据成员2.进入构造函数后在构造函数中执行一般计算1.类里面的任何成员变量在定义时是不能初...

C++类成员和数据成员初始化总结

C++为类中提供类成员的初始化列表。 类对象的构造顺序是这样的: 1.分配内存,调用构造函数时,隐式/显示的初始化各数据成员 2.进入构造函数后在构造函数中执行一般计算   1.类里面的任...

关于C++ 类数据成员初始化的一点总结【为什么类定义中不能初始化成员变量】

往往被初学者忽视的是,C++类中的数据初始化是有jia

c++中初始化数据成员的方法

c++初始化数据成员
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:C++类的数据成员的初始化相关问题
举报原因:
原因补充:

(最多只允许输入30个字)