프로그래밍/겁나 쉽게 쓴 C, C++ 설명서

C++ 기초 공사

tonystark100 2024. 4. 10. 21:36

목차

    반응형

    C++ 특징

    반응형

    C++도 C처럼  main() 함수에서 시작하고, 반드시 하나의 main() 함수를 포함해야 합니다.

    C++는 절차지향인 C에 객체지향 개념을 추가하여 업그레이드 한 컴퓨터 프로그래밍 언어입니다.

    따라서 C++는 C의 기능을 모두 사용할 수 있습니다.

     


     

    1. 표준 입출력 라이브러리 

    C의 #include <stdio.h>를 C++는 #include <iostream>의 cin, cout, endl을 사용해서 처리합니다.

     

    입력 : std::cin >> num;

    출력 : std::cout << num << std::endl;

    endl은 줄 바꿈을 의미합니다.

     


     

    2. 네임 스페이스

    네임스페이스는 std:: 처럼 적힌 코드를 의미합니다.

    프로그램을 만들다 보면 여러 명이 개발하게 되고, 함수나, 구조체 등에서 이름 충돌이 발생할 수 있습니다.

    구분을 위해 소속을 정해주는 것으로, 보통 회사에서는 팀이나 사용자 이름을 씁니다.

    네임스페이스를 알려주면 std::생략할 수 있습니다.

    #include <iostream>
    using namespace std;
    
    cin >> num;
    cout << num << endl;

     


     

    3. 함수 오버로딩

    같은 이름을 가진 함수를 여러 개 정의할 수 있는 기능입니다. 함수의 매개변수 유형, 개수, 순서가 다르면 같은 이름의 함수를 여러 개 만들 수 있어서, 이를 통해 프로그래머는 같은 동작을 하는 함수를 일관된 이름을 쓸 수 있습니다.

     


     

    4. 클래스

    클래스는 객체지향 언어에서 지원하는 기능으로, 데이터(변수)와 함수(기능)를 하나로 묶어 놓은 틀을 말합니다.

    C++는 이 틀을 이용해 객체를 만들 수 있고, 만들어진 객체를 통해 프로그램 전체가 동작하도록 코드를 작성하게 됩니다.

    #include <iostream>
    #include <string>
    
    // Car 클래스 정의
    class Car {
    public:
        std::string brand;  
        std::string model;  
        int year;           
    
        // 생성자
        Car(std::string x, std::string y, int z) {
            brand = x;
            model = y;
            year = z;
        }
    
        // 메소드
        void printDetails() {
            std::cout << "Brand: " << brand << ", Model: " << model << ", Year: " << year << std::endl;
        }
    };
    
    int main() {
        // Car 객체 생성
        Car car1("현대", "소나타", 2002);
        Car car2("기아", "K3", 2014);
    
        // 객체의 메소드 호출
        car1.printDetails();
        car2.printDetails();
    
        return 0;
    }

     

    두 언어의 차이점

    차이점을 표로 만들어 보았습니다.

    항목 C C++
    방식 절차지향 객체지향
    표준 입출력 라이브러리 stdio.h(scanf(), printf()) iostream(cin, cout)
    동적 메모리 할당, 해제 malloc(), free() new, delete 키워드
    함수 오버로딩 지원 X O
    네임 스페이스 지원 X O
    템플릿 지원 X O
    클래스 지원 X O

     

     

     

    로또로 화성 - Google Play 앱

    간편한 로또 번호 생성 및 QR 결과 확인 어플입니다.

    play.google.com

     

     

    다음 글 C++ 클래스

     

     

     

    ** 이 글이 좋았다면 좋아요와 구독을 눌러주세요. **

    반응형

    '프로그래밍 > 겁나 쉽게 쓴 C, C++ 설명서' 카테고리의 다른 글

    변수란?  (0) 2024.04.29
    C 프로그래밍의 시작  (0) 2024.04.29
    주석이란?  (0) 2024.04.29
    C++ 클래스  (0) 2024.04.12
    [기술] C와 C++ 역사, 특징, 장단점, 차이점  (0) 2024.03.02