// Case A
class Point {
private:
int x;
int y;
public:
Point(int i = 0, int j = 0); // Constructor
};
Point::Point(int i, int j) {
x = i;
y = j;
cout << "Constructor called";
}
// Case B:
class Point {
private:
int x;
int y;
public:
Point(int i, int j); // Constructor
};
Point::Point(int i = 0, int j = 0) {
x = i;
y = j;
cout << "Constructor called";
}
Вопрос> И Case A, и Case B компилируются без проблем с VS2010.
Оригинал Я предполагаю, что работает только случай A, потому что я помню, что параметры по умолчанию должны быть введены в том месте, где функция объявлена, а не в месте ее определения. Может ли кто-нибудь поправить меня в этом?
Спасибо