본문 바로가기

Language/_C++

C++ Hello World 출력

/*
       HelloWorldpp.cpp
*/

1 : #include <iostream>
2 :
3 : int main()
4 : {
5 :       std::cout<< "Hello Wolrd" << std::endl;
6 :       return 0;
7 : }

C++ 은 C를 기반으로 해서 객체지향적 문법과 여러 문법을 추가시킨 형태이다.
따라서 C와 다른점을 중심으로 설명하겠다.

(참고 : 공통적인 문법은 C 카데고리에서 설명하고 C++ 만의 문법은
C++ 카테고리에서 설명하겠다.(ex. 클래스, 함수 오버로딩 등등.....)
C 기반 HelloWolrd 출력 : http://dakuo.tistory.com/117)



HelloWolrdpp.cpp 설명 :

1 : #include <iostream>

cout 에 대한 선언문이 있다.
따라서 cout 을 사용하기 위해서는 반드시 포함해야 한다.

3 : int main()

메인함수가 반드시 존재해야 하는건 C++ 에서도 마찬가지이다.(Entry Point 이며 단 하나만 존재해야 한다.)

5 : std::cout<< "Hello Wolrd" << std::endl;

Hello World 를 출력하고 한줄 내린다.(Enter 와 같은 기능)

6 : 메인 함수의 리턴형이 int 이므로   0을 반환한다.



Namespace 설명 :

Namespace : 이름을 지니는 공간

(예제 :

#include <iostream>

namespace A                    // A 라는 이름공간
{
         void fuction();
}

namespace B                    // B 라는 이름공간
{
        void function();
}

void main()
{
        A::function();              // A 의 function() 함수 호출
        B::function();              // B 의 function() 함수 호출
}

namespace A
{
         void fuction()
         {
                std::cout<<"A"<<std::endl;
         }
}

namespace B
{
        void function()
        {
                std::cout<<"B"<<std::endl;
         }
}

즉, 함수나 변수의 이름이 동일해도 Namespace(이름 공간)이 다르면 사용이 가능하다.
(철수가 2명있을때   김;철수야  이;철수아    하는것과 같은 이치        성 = 이름공간 , 이름 = 함수명(변수명) ) )


HelloWolrdpp.cpp 의

5 :       std::cout<< "Hello Wolrd" << std::endl;     에서

cout 의 선언문은  iostream 에 존재하는데,

이 선언문은 std 라는 Namespace 에 존재한다.(따라서 std::cout   사용)


using 의 사용 :

1. using std::cout;

: 앞으로 cout 라는 이름을 참조하는 코드가 나오면 std 라는 Namespace 안에 선언된 cout 을 참조한다.

(ex. cout <<" hi " )

2. using namespace std;

: 앞으로 std 라는 Namespace 안에 선언된 이름을 참조하는 코드가 나오면
 
std 라는 Namespace 안에 선언된 이름을 참조한다.

(ex. cout <<"hi"<<endl;)

'Language > _C++' 카테고리의 다른 글

클래스(Class)  (0) 2010.04.04
함수(Function)  (2) 2010.04.04