본문 바로가기

{Programing}/C.C++26

c/c++ 상속(2) 다중 상속 말그대로 상속을 여러번 받는것을 의미한다. 여러 단계의 상속이 아니고, 한번에 여러 슈퍼 클래스에서 동시 상속 받는 것을 의미한다. 장점보다 단점이 더 명확해서 자주 쓰이지 않음. 장점 : 여러 슈퍼클래스를 동시에 사용할수 있다. 단점 : 슈퍼클래스 사이의 중복된 이름의 멤버 변수나 함수가 있는 문제, 슈퍼클래스를 이중 상속받는 문제 가상클래스가 아닌 슈퍼클래스를 상속받을 경우, 슈퍼클래스가 어떤것인지 특정 되지 않기때문에 슈퍼클래스의 포인터로 파생클래스를 가리킬수 없게 됨. 다형성 멤버 함수 오버로딩, 생성자 오버로딩, 연산자 오버로딩, 가상함수를 이용한 함수 오버라이딩을 이용해 "같은 요청에 대해 다른 응답을 줄수 있게 하는 것" 이라고 할 수 있다. 가령 Sum 이라는 더하기 함수에 대해.. 2020. 1. 21.
c/c++ 상속(1) 상속 사전적 의미 : 친족의 사망시 재산상의 권리를 다른 친족이 받는 것. 프로그래밍적 의미 : 부모 객체의 모든 속성을 이어받아 코드의 재사용성을 높이는 것. 개인적으로 느끼기엔 유전의 의미가 더 큼. 부모객체의 유전자를 물려받는 느낌. 상속의 관계는 상속을 받는 쪽과 상속을 하는 쪽으로 나뉜다. 상속을 하는 쪽의 클래스를 부모, 상위, 기초, 슈퍼 클래스라고 하며 받는 쪽의 클래스르 자식, 하위, 유도, 서브 클래스라고 한다. 여기에서는 슈퍼, 서브 클래스를 사용한다. 클래스 사이의 관계는 상속 뿐아니라 association = 연관 composition = 복합 연관 aggregation = 집합 연관 dependency = 의존 realization = 실체화 generalization = 일반화.. 2020. 1. 21.
c/c++ 파일 입출력 c style 기본 헤더 stdio.h에 포함. FILE 구조체를 기준으로 사용되며 fopen - fclose 함수 쌍 사이에서 모든 입출력이 이루어진다. FILE* fopen(const char*, const char*); 파일명과 모드를 인자값으로 주어 열고 싶은 파일을 포인터에 지정한다. 파일 명을 입력할때, 경로를 같이 준다면 \는 2번씩 써야 서식문자로 인식되어 처리된다. 모드 r : 읽기 모드. 파일이 존재하지 않으면 에러 w : 쓰기 모드. 파일이 존재하지 않으면 생성, 존재하면 덮어쓰기. a : 추가 쓰기 모드. w 모드와 같으나, 파일이 존재하면 이어쓰기를 한다. int fclose(FILE* fp); 열린 파일을 닫는 함수. 닫히면 0, 에러시 -1 FILE * 는 읽는 그대로 파일 포.. 2020. 1. 17.
c/c++ 문자열 문자열 : 문자 배열이라는 의미로 여러 문자를 연속해서 저장한 배열을 뜻한다. char 포인터에 작성하거나 std::string 클래스를 이용하여 작성한다. c style char * str1 = "Hello"; char str2[] = "world"; char * str3 = "abcde"; printf("%c\n", *(str3+3)); printf("%c\n", str3[2]); 문자열 끝에 항상 null 문자가 붙는다. (\0) 배열처럼 인덱스 접근이 가능하다. 포인터 연산으로도 접근 가능하다. 문자열을 자르고 붙이고 비교하는 함수들은 string.h 파일에 구현되어 있다. C Library - - Tutorialspoint C Library - Advertisements The string.h .. 2020. 1. 14.