본문 바로가기
728x90

c++16

16. 클래스정의와 구현 분리,솔루션 탐색기,헤더파일 cpp파일 만들기 이전 포스팅에서는 클래스의 정의와 구현을 한 프로그램으로 만들었는데요. C++ 에서는 클래스의 정의와 구현을 분리 할 수 있습니다. 클래스정의는 클래스의 규약상황을 기술하는 것이고 클래스 구현은 그 규약을 실현하는 것이라고 볼 수 있는데요. 클래스 정의 파일의 확장자는 .h(헤더를 의미)이고, 클래스 구현파일의 확장자는 .cpp입니다 클래스 정의와 구현 분리 먼저 클래스의 정의와 구현 분리하지 않은 Circle클래스는 아래와 같습니다. 위의 Circle 클래스의 정의와 구현을 분리해보면 클래스 정의 파일에는 이렇게 단순히 데이터필드와 생성자 원형,함수원형을 목록으로 만들어줍니다. 첫째줄의 #pragma once는 자동적으로 입력되어있는데요. 헤더 화일을 중복 컴파일이 되지 않도록 선행처리하는 역할을 한다.. 2020. 1. 10.
15. 객체,class,데이터필드,생성자,함수,circle 객체는 명확하게 구별되는 실제 세계에서의 개체(요소)를 나타냅니다. 학생,원,TV등을 예로 들 수 있습니다. 객체는 자신만의 유일한 특성과 상태(state)과 행동(behavior)을 갖습니다. 1. 객체의 상태(또는 속성)는 현재값을 가지고 있는 데이터 필드로 표현됩니다. 2. 객체의 행동(또는 동작)은 함수에 의해 정의된 것을 말합니다. 객체에 대한 함수를 호출하는 것은 객체에 어떤 동작을 수행하도록 요구하는 것입니다. C++클래스는 데이터필드를 정의하기위해 변수를 사용하고 행동을 정의하기위해 함수를 사용합니다. 원 객체의 경우를 예로 들어보면 원은 반지름이라는 자신만의 특성을 갖고 원의 면적을 계산하여 반환하게 하는 getArea()라는 함수를 정의할 수 있습니다. 아래는 원 클래스와 객체를 설명하.. 2020. 1. 7.
14. 배열,array,배열선언,배열초기화,index 프로그램에 0부터 99까지 숫자를 저장한다고 생각해봅시다. 변수 100개를 생성해서 각각의 변수에 값을 저장한다면 아주 번거롭겠죠? 이러한 작업을 하기위해서는 보다 효율적인 접근 방법이 필요한데 그때 배열을 사용합니다. 배열에서 number0,number1,...number99같이 일일이 변수를 선언하는 것이 아니라 numbers와 같이 하나의 배열을 선언하고 각 변수를 나타내기 위해서 number[0],number[1],...,number[99] 를 사용합니다. 배열 선언 배열을 선언하기 위해선 다음구문을 사용하여 요소유형과 크기를 지정해야합니다. elementType arrayName[SIZE]; elementType은 데이터 유형입니다. 내가 이 배열에 어떤 유형의 데이터를 담을 것인지를 나타냅니다.. 2020. 1. 6.
13. 지역변수,전역변수,정적 지역 변수 C++에서 변수는 지역변수,전역변수,정적 지역 변수로 선언 될 수 있습니다. 변수의 범위는 참조될 수 있는 프로그램의 영역을 말하는 것입니다. 먼저 함수안에서 정의된 변수를 지역변수 라고 합니다. 모든 함수 외부에서 선언되어 파일 내 모든 함수에서 접근이 가능한 변수를 전역변수라고 합니다. 지역변수와 전역변수 위의 코드를 살펴보면서 지역변수와 전역변수에 대해 설명드릴게요. 4번째 줄에 int y;라고 선언된 부분이 보이시죠. 이렇게 함수 외부에서 선언되어 프로그램의 모든 함수에서 접근이 가능한 변수를 "전역 변수"라고 합니다. 즉, 변수 y는 전역변수인 상태입니다. 5번째 줄에 void형의 함수 T1을 선언해주었는데요. 함수 T1의 내용은 int x = 1;이라고 선언해주고 현재 x와 y값을 출력하고 x.. 2020. 1. 5.
728x90