2013-12-15 4 views
-2

Я не могу понять часть кода «Точка(): x (0), y (0) {}, Point (int a, int b) : x (a), y (b) {} "..Что означает «:» в объявлении структуры

Особенно, что касается вопроса, ":" Используется для чего?

благодарит заранее!

Definition for a point. 
     struct Point { 
      int x; 
      int y; 
      Point() : x(0), y(0) {} 
      Point(int a, int b) : x(a), y(b) {} 
     }; 
+0

спасибо, один знак, для java-программиста, синтаксис объявления конструктора действительно странный. – lhuang

ответ

1

он используется, чтобы начать список инициализатора

х будет initalized с а и у с Ь в этом примере.

является обязательным для сопзЬ членов класса или структур, чтобы использовать его инициализацию с помощью списка инициализаторов

0

Это начало список Инициализатора для членов класса/структуры. Вы можете использовать его конструкторы вызовов членов класса, как вы там делаете.

1

Point() : x(0), y(0) {} < - это конструктор, создающий точку в (0,0) координаторах. Point(int a, int b) : x(a), y(b) {} Это конструктор, создающий точку в координатах (a,b). Где a и b указаны в качестве входных данных пользователя.

Смежные вопросы