본문 바로가기
코스웨어/15년 스마트컨트롤러

20150526 - 18번 - 안해운 - C++

by 알 수 없는 사용자 2015. 5. 26.
728x90
반응형

C++ 프로그래밍

C++은 AT&T 벨 연구소의 비야네 스트롭스트룹이 1983년 발표하여 발전한 프로그래밍 언어이다. C 언어의 문법을 대부분 사용할 수 있으며, 객체지향성이 더해진 C 언어의 확장형이라고 생각할 수도 있다. 

원래 이름은 C with Classes였으나, 증가 연산자를 도입하면서 1984년에 C++로 이름이 변경되었다.


C++에서는 Class의 비중이 크게 차지한다.

오늘은 Class를 배우지 않는다.


C++에서의 컴파일 - 파일명.cpp

    ex) cl main.cpp

리눅스에서의 C++ 컴파일 - g++

  ex) g++ -o main main.c (또는 main.cpp)


C++에서는 #include <stdio.h> 대신 #include <iostream>을 사용한다. 

C++에서는 .h가 붙지않는다.


using namespace std; 명령어는 계속 쓰니까 외우도록 한다.

① cout << "Hi\n";    → C++에서의 출력소스 ( C언어에서의 printf("Hi\n"); 와 같다.)

② cout << "Hi" << endl 

※ ①, ②는 같은 문법이다.


C++ 소스 기본형


C++에서는 변수를 아무데서나 선언해도 에러가 나지 않는다.

C++에서 출력할때 C언어처럼 %d나 %s같은 변환문자 의미 자료형을 사용하지 않아도 출력이 가능하다.

위 코드,결과에서 보이듯 변수를 아무 위치에서나 선언하여도 에러없이 잘 돌아간다.


C++ 구구단 프로그래밍 실습

- 코드

- 결과

※ 결과 캡쳐가 작게나왔네요 죄송합니다!


범위연산자

범위 연산자 ::는 여러 범위에 사용된 식별자를 식별하고 구분하는 데 사용된다.

smart :: A     →     smart에 소속된 A 


- 범위연산자 실습 코드

- 결과


레퍼런스 변수(reference variable)

정의 : 한 변수의 포인트 주소를 공유하는 다른 변수

원형 : 원형 자료형식 & 변수 = 원형변수;

       ex)  int iNum;

   int & r = iNum;

한 변수의 포인트 주소를 공유 한다는 점이 레퍼런스 변수의 제일 중요한 점이다.

변수 선언시 초기화를 해주어야한다.

선언 이후 초기화 하면 컴파일 에러가 뜬다.

C++ 문법이므로 C에서는 사용할 수 없다.


- 레퍼런스 변수 예제

- 결과


C++ 동적할당

변수와 배열을 동적으로 할당하고 해제할 수 있다.

동적으로 할당한 변수는 반드시 해제해줘야 한다.


new : 변수 동적 할당

delete : 동적 할당 변수 해제

new[] : 배열 동적 할당

delete[] : 동적 할당 배열 해제


- 동적할당 연결리스트 실습

- 결


Car 구조체 실습 소스

#include <iostream>
#include <stdio.h>
using namespace std;

typedef struct _Car
{
    int iSpeed;
    int iDir;
    char cColor[256];
}Car;

void ShowCar(Car * cP)
{
    cout << "Car Speed      : " << cP -> iSpeed << endl;
    cout << "Car Directions : " << cP -> iDir << endl;
    cout << "Car Color      : " << cP -> cColor << endl;
    return;
}

void SetCarSpeed(Car * cP)
{
    int iNum;
    cout << "속도를 입력하시오 : ";
    scanf("%d",&iNum);

    if(110 < iNum)
    {
        iNum = 110;
    }
    if(-60 > iNum)
    {
        iNum = -60;
    }

    cP -> iSpeed = iNum;
    return;
}

int main()
{
    Car myCar = {00"Red"};
    SetCarSpeed(&myCar);
    ShowCar(&myCar);
    return 0;
}


※ 밑에 car 실습 코드 첨부하였습니다.


car.cpp


728x90