2010-06-28 3 views
0

CPoint 인수를 기대하는 MFC에서 표준 생성자를 어떻게 선언 할 수 있습니까?MFC에 CPoint 인수가있는 표준 생성자

class CObj { 
public: 
    CObj(CPoint pt = ???, float x = 10.0f, int n = 10); 
    ... 

나는 잘 컴파일

CObj(CPoint pt = (10,10), float x = 10.0f, int n = 10); 

을 시도했지만 pt.y은 0

감사의 동안 만 pt.x, RS

답변

0

내가 믿는 값 (10)을 가지고 다음과 같이 작동해야합니다.

CObj(Cpoint pt = CPoint(10,10), float x = 10.0f, int n = 10); 

편집 : 확실히 나를 위해 작동하는 것 같다 :

#include <iostream> 

struct CPoint { 
    int x, y; 
    CPoint(int x_, int y_) : x(x_), y(y_) {} 
}; 

class CObj { 
    CPoint p; 
public: 
    CObj(CPoint pt = CPoint(10,10), float x = 10.0f, int n = 10) : p(pt) { 
     std::cout << "x.x = " << p.x << "\tx.y = " << p.y << std::endl; 
    } 
}; 

int main() { 
    CObj x; 
    return 0; 
} 

결과 :

x.x = 10  x.y = 10 
+0

아니,하지 않습니다. 내 접근법과 같은 결과 : pt.x는 10이지만 pt.y는 0입니다. – chessweb