일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- python
- cout
- 42서울
- Class
- C언어
- C++
- 42
- ft_server
- else if
- docker
- 함수
- nginx
- vs코드 단축키
- iF
- Double
- 포인터
- phpmyadmin
- 구조체
- 동적할당
- 42Seoul
- for
- libft
- 42cursus
- 패킹
- 자료형
- float
- list
- While
- jupyter 단축키
- 2차원배열
- Today
- Total
Developer
1.(C++) Hello World! 본문
C++는 C언어에 객체 지향 프로그래밍 기능을 추가한 언어이다. C언어의 스타일은 절차 지향 프로그래밍인데 쉽게 말하면 순서에 따라 명령어를 수행하는 프로그래밍을 의미한다. 절차 지향 프로그래밍에서 가장 중요한 것은 주어진 작업을 프로시저(절차)들로 분리하는 것이다.C언어의 함수를 예로 들 수 있다.
그렇다면 객체 지향 프로그래밍은 무엇있까?
객체 지향 프로그래밍은 현실 세계의 모든 일들이 객체(object)와 객체사이의 상호작용을 통해 일어나는 것 처럼 소프트웨어도 객체 단위로 작성해 다양한 기능을 수행하는 객체들을 만들고, 객체들을 조합하며, 서로 상호작용하여 원하는 작업을 수행하는 방식이다.
#include<iostream>
using namespace std;
int main(){
cout<<"Hello World!"<<endl;
return 0;
}
C++로 Hello Wold를 출력하는 프로그램이다.
C언어와 다른곳이 많은데 이번 글에서는 그 차이를 살펴보자.
#include<iostream>
iostream이라는 헤더 파일을 포함시키는 코드이다. iostream은 표준 입출력에 필요한 객체들이 정의되어 있다. C++에서는 기존 C헤더파일에만 .h를 붙이기로 했기 때문에 .h가 없는것을 볼 수 있다.
using namepsace std;
C++는 다양한 식별자들을 namespace 라는 영역으로 분리하여 저장하고있다. namespace가 다르다면 같은 이름을 사용할 수 있다. 예를 들어 A라는 namespace에 computer()를 정의하고, B라는 namespace 에 또 computer()를 정의할 수 있다. 이렇게 같은 이름이 존재할 수 있기때문에 사용할 때에는
namespace::이름과 같은 형식으로 작성해 주어야한다.
A::computer() //A namespace에 정의 된 computer()
B::computer() //B namespace에 정의 된 computer()
그렇다면 using namespace std;는 무엇일까?
출력을 위해 사용한 객체 cout과, 줄 바꿈을 위해 사용한 endl의 경우 std라는 namespace에 속하기 때문에
std::cout<<"Hello World!"<<std::endl; 와 같이 작성해 주어야한다. 이렇게 작성하는건 몹시 귀찮으므로 현재 사용하는 namespace 를 std로 설정하겟다는 것이다. 그렇다면 std안의 이름은 std::를 붙이지 않아도 된다.
cout<<"Hello world!"<<endl;
C언어의 경우 printf함수를 사용해서 화면에 출력하였다. C++에서는 cout과 <<연산자를 사용해 출력할 수 있다. cout<<변수명<<10<<"good"; 와 같이 변수와 정수를 모두 출력할 수있다. endl은 줄을 바꾸는 제어문자인데 '\n'과 동일하다.
C++에서도 printf를 사용해 출력할 수 있지만 stdio.h를 포함해줘야한다.
'Programming Language > C++' 카테고리의 다른 글
6.(C++) 구조체 (0) | 2020.08.01 |
---|---|
5.(C++) 함수 (0) | 2020.08.01 |
4.(C++) 레퍼런스 (Reference) (0) | 2020.08.01 |
3.(C++) 제어문 (0) | 2020.08.01 |
2.(C++) 입출력 및 자료형 (0) | 2020.08.01 |