virtual BOOL Create(
LPCTSTR lpszCaption,
DWORD dwStyle,
const RECT& rect, //we need to pass a RECT instance
CWnd* pParentWnd,
UINT nID
);
// Create a push button.
myButton1.Create(_T("My button"), WS_CHILD|WS_VISIBLE|BS_PUSHBUTTON,
CRect(10,10,100,30), pParentWnd, 1);
CRect(10,10,100,30)
是一个构造函数,这是否意味着构造函数返回一个实例?
答案 0 :(得分:1)
// CRect(10,10,100,30)是一个构造函数......
不,不是。它是一个对象的声明。它确实调用了构造函数,但是对象是在本地创建的,而不是由构造函数返回。
答案 1 :(得分:0)
此代码等同于以下内容:
CRect rect = CRect(10,10,100,30);
// Create a push button.
myButton1.Create(_T("My button"), WS_CHILD|WS_VISIBLE|BS_PUSHBUTTON,
rect, pParentWnd, 1);
构造函数返回它构造的类的实例,由Create函数使用。