본문 바로가기

코딩

[C++] 상속 1. 상속 1. 부모 클래스, 자식 클래스 부모 클래스(Base 클래스=Parent 클래스=Super 클래스=Existing 클래스): 훨씬 더 추상화된 클래스 자식 클래스(Derived 클래스=Child 클래스=Sub 클래스): 부모 클래스로부터 파생되어 만들어진 새로운 클래스, 부모 클래스의 모든 멤버 데이터&멤버 함수를 가진다. 더 실체화된 클래스(specailized) 상속: '자식 클래스'가 '부모 클래스'를 '상속받았다' 고 표현함. "is-a" 관계: Derived 클래스 is a Base 클래스 (역은 성립 안됨) → 자식 클래스가 부모 클래스에 '포함 된다' (부분 집합과 유사한 개념, 자식 클래스는 부모 클래스의 모든 멤버 데이터&멤버 함수를 가지니까!) Derived 클래스의 객체는 .. 더보기
[C++] 클래스와 객체 (1) 1. 객체(Software Component) = 변수 + 함수 sw component = 변수 + 그 변수를 쉽게 사용할 수 있는 함수 변수: ex) fstream안의 파일 함수: ex) 파일을 다루기 위한 동작들 (open, close 등..) 2. 클래스(class)와 오브젝트(object) 클래스: 추상화된 객체, 붕어빵 틀, 설계 도면 / ex)fstream myFile; 오브젝트: 실체화(인스턴스화) 되고 정의된 객체, 붕어빵, 건물 / ex)fstream myFile; (엄밀히 말하면) 클래스로부터 객체를 만들었다, 인스턴스를 만들었다! 객체 = 클래스의 인스턴스(실체) → 실제로 사용하는, 변수와 같은 역할 [객체]와 [인스턴스]라는 용어는 상호 교환 가능하게 사용됨. (유동적으로) 3. .. 더보기
[C++] 포인터, 벡터, 배열 (3) 1. 동적 배열 (Dynamic Array) 정적 배열(static array)은 프로그램 실행(run-time)중 크기가 고정돼있다. 동적 배열의 크기는 프로그램 동작 중 동적으로 할당/해제될 수 있다. → 메모리 측면에서 효율적임! 1. new: 동적 메모리 할당에 쓰이는 키워드 double *numbers; numbers = new double[4]; double *numbers = new double[4]; //선언과 할당 동시에 numbers라는 이름의 배열, 원소들은 double형임 numbers는 'new' 키워드로 double형 원소들을 크기(4)만큼 블락(메모리 공간)에 할당함 이 때 블락의 시작 주솟값(=[0]원소의 시작 주솟값)을 저장하는 포인터가 'numbers'가 된다. (동적 배.. 더보기
[C++] 포인터, 벡터, 배열 (1) 1. 포인터 변수 &x : 변수 x의 메모리 상의 시작 주솟값을 반환 int* px : (int*)는 정수형 변수의 시작 주솟값을 저장하는 [포인터]라는 data type *px: px라는 포인터 변수 선언 이후, px에 저장된 주솟값으로 jump, 참조 (px가 '가리키는' 변수로 jump, 참조) px도 물론 포인터'변수'이기 때문에 메모리 공간을 차지하고, 따라서 시작 주솟값이 있음 !! #include using namespace std; int main() { int x = 10; int *px = &x; //포인터 변수에는 주솟값이 들어감 cout 더보기
[C++] String, File - 문자열과 파일 (2) 1. 입/출력을 보기 좋게 하기 위한 부가기능 .width( ): 데이터를 표시할 칸 수를 지정하고 우측 정렬함 (=iomanip의 setw( )와 동일) .precision( ): 소수점 뒤에 표시할 수 있는 숫자 개수(자릿수)를 제한함 (유효자리숫자) .fill( ): 공백 채워줌 (char만) #include #include using namespace std; int main() { char ch; //스페이스바(white space)는 문자로 취급x cin.unsetf(ios::skipws); //ws를 skip하는 기능 unset(끔) -> 공백 입력 받음 cin >> ch; cout 더보기
[C++] String, File - 문자열과 파일 (1) 1. File(파일) 객체 - 소프트웨어 컴포넌트, 구성품 ex sw component(구성품) 중 하나, 현재 프로그램 외부에 저장하는 데이터들을 file로 볼 수 있다. 이 때 sw component를 객체(object) 또는 클래스(class)라고 부른다. 객체(object) = 멤버 데이터(member data) + 멤버 함수(=member function or method) 로 구성 2. String(문자열) 객체 - 소프트웨어 컴포넌트, 구성품 ex (마찬가지로 객체이기 때문에) 멤버 데이터(member data) + 멤버 함수(=member function or method) 로 구성 string객체의 메소드를 사용하려면 string 라이브러리를 include 해야 한다. #include #.. 더보기
[C++] 조건문과 반복문 (2) 1. 비정상적인 루프 종료 1. break구문 #include using namespace std; int main() { int input, sum = 0; cout > input; if (input < 0) break; //바로 반복문 빠져나감 sum += input; } cout 더보기
반응형