Стандартный конструктор с аргументом CPoint в MFC - PullRequest
0 голосов
/ 28 июня 2010

Как я могу объявить стандартный конструктор в 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.x получил значение 10, а pt.y стало 0.

Спасибо, RS

1 Ответ

0 голосов
/ 29 июня 2010

Я считаю, что-то вроде этого должно работать:

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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...