2012-09-22 2 views
-1

막연한 제목에 사과드립니다. C++에 대한 지식이 필요한 프로젝트를 시작합니다. 저는 C++을 배우지 않으며 책을 읽을 시간도 없습니다. 그래서 나는 누군가가 나에게 그것을보기위한 출발점을 줄만큼 충분히 좋기를 바란다.코드 덩어리에서 콜론 ":"의 의미와 용도는 무엇입니까?

TurtlebotTeleop::TurtlebotTeleop(): ph_("~"), linear_(1),angular_(0){ 
    ph_.param("axis_linear", linear_, linear_); 
    ph_.param("axis_angular", angular_, angular_); 
    ph_.param("axis_deadman", deadman_axis_, deadman_axis_); 
    ph_.param("scale_angular", a_scale_, a_scale_); 
    ph_.param("scale_linear", l_scale_, l_scale_); 
} 

나는이 코드 덩어리는 방법 "TurtlebotTeleop"를 정의하는 것을 알고 : 여기

는 코드입니다. 콜론 ":"다음에 오는 것은 무엇입니까?

입력 해 주셔서 감사합니다.

+0

[this] (http://www.learncpp.com/cpp-tutorial/101-constructor-initialization-lists/)를 참조하십시오. – Lazer

답변

3

이것은 생성자 초기화 목록입니다. 클래스의 데이터 멤버를 초기화하는 구문입니다.

"코드 덩어리"는 기본 생성자 TurtlebotTeleop의 정의입니다. :{ 사이에 오는 것은 해당 클래스의 일부 데이터 멤버에 대한 초기화입니다. 생성자 본문 ({} 사이)에 들어가면 모든 데이터 멤버가 값을 가지며 초기화 작업과는 달리 기존 인스턴스에 대한 변경이 수행됩니다.

+0

나는 완전히 잘못된 길로 갔다. 대단히 감사합니다 !! – Peng

0

이 함수는 클래스의 생성자이며 생성자가 수행해야하는 작업 중 하나는 클래스의 모든 멤버를 초기화하는 것입니다.

단일 콜론 다음의 요소는 클래스의 멤버를 초기화하는 간단한 구문입니다. 따라서이 생성자가 실행될 때 ph_가 "~"로 설정됩니다.

+0

도움을 주셔서 감사합니다. 정말 도움이 :) – Peng

관련 문제