chan.log
Home
Write
Setting
About Me
11-26 18:55
분류 전체보기
(127)
이것 저것
(9)
항해99
(38)
[항해99] 웹종합기초
(1)
[항해99] 웹미니프로젝트
(3)
[항해99] WIL
(7)
[항해99] 알고리즘
(22)
[항해99] Spring
(5)
TIL
(80)
[겨울방학 부트캠프]TIL
(20)
[객체지향 프로그래밍] TIL
(15)
[순간순간 알게된 짧은 지식] TIL
(8)
[C++ 프로그래밍} TIL
(26)
[파이썬] 문제 풀이
(3)
[멋쟁이 사자처럼] TIL
(8)
Dark
TIL 22.06.08 (시험에 나올만한..?)
std::ostream& operator(std::istream& is, T& obj){ return is; } 멤버함수 Complex Complex::operator+(const Complex& c){ Complex result(re + c.re, im + c.im); return result; } // 이게 맞음 (result를 리턴해야해) 틀린 예시 : Complex Complex::operator+(const Complex& c){ re += c.re; im += c.im; return *this; // 이렇게 하면 x 값이 바뀌게 되니까 안됨 const 선언 안했는데 왜 에러가 날까 Complex& Complex::operator=(const Complex& c){ // 이렇게 해야 에러가 안남..
2022.06.09
TIL/[C++ 프로그래밍} TIL
TIL (22.06.07) ( * , & 관련 )
생성자 #include using namespace std; class Point{ int x, y; public: Point(int x=0, int y = 0) :x(x){ // x 앞에게 멤버변수, 뒤에게 배개변수 this -> y = y; // y도 앞에게 멤버변수, 뒤에게 매개변수 } void print(){ cout
2022.06.08
TIL/[C++ 프로그래밍} TIL
TIL (22.06.05)
생성자 A a2; int main() { A a1; cout
2022.06.05
TIL/[C++ 프로그래밍} TIL
TIL (22.05.30)
STL(Standard Template Library) 표준 템플릿 라이브러리. 많은 프로그래머들이 공통적으로 사용하는 자료 구조와 알고리즘들을 template로 구현한 클래스 namespace std에 포함되어있음 컴포넌트 컨테이너 : 자료를 저장하는 구조 벡터, 리스트, 집합, 큐, 스택과 같은 자료 구조 반복자 컨테이너 안에 요소를 순차적으로 처리하가위한 컴포넌트 알고리즘 정렬이나 탐색과 같은 다양한 알고리즘을 구현 STL의 장점 STL은 전문가가 만들어서 테스트를 거친 검증된 라이브러리 STL은 객체 지향 기법과 일반화 프로그래밍 기법을 적용하여서 만들 어졌으므로 어떤 자료형에 대해서도 적용 STL을 사용하면 개발 기간을 단축할 수 있고 버그가 없는 프로그램을 만들 수 있다. STL 컨테이너 순차..
2022.05.30
TIL/[C++ 프로그래밍} TIL
TIL (22.05.25)
template 템플릿(template): 물건을 만들 때 사용되는 틀이나 모형을 의미 함수 템플릿(function template): 함수를 찍어내기 위한 형틀 int get_max(int x, int y){ } // 얘랑 float get_max(float x, float y){ } 얘처럼 여러 타입으로 선언하면 귀찮아 template T get_max(T x, T y) { if (x > y) return x; else return y; } typename 대신 로 써도 됨 템플릿 함수의 특수화 template void increase (T& v){ v+= 1;} template // 특수화 된 부분 void increase(int *& v){ v += 2; } 특수화를 해놓으면 우선권이 있어서 먼저..
2022.05.25
TIL/[C++ 프로그래밍} TIL
TIL (22.05.23)
예외처리 try - thow - catch 구조를 이용해라. int main(){ try { if (x) throw 1; M1 실행문 } catch (int e) { M2 실행문 } M3 실행문 } x == true -> M2 - M3 순 x == false -> M1 -> M3 순으로 실행 인자의 타입과 일치하는 예외만 처리한다. try { int person =0; ... if (persons == 0) throw persons; // int 값을 던지는데 ... } catch(char e) // catch는 char 타입으로 받으니까 안된다! { cout
2022.05.23
TIL/[C++ 프로그래밍} TIL
TIL (22.05.18)
다형성( polymorphism ) 다형성 : 객체의 타입이 다르면 같은 이름의 함수가 호출되더라도 서로 다른 동작을 하는 것 하나의 코드로 다양한 타입의 객체를 처리하는 기술. 형변환 upcasting : 상향 형변환 implicit하게 일어남. 서브클래스를 수퍼클래스 타입으로 변환 downcasting : 하향 형변환 implicit하게 일어나지 않음 수퍼클래스를 서브클래스 타입으로 변환 Shape *ps = new Rectangle(); 자동적 upcasting 왜 그럴까? 자동적으로 upcasting 이 일어나는 이유? 서브 클래스 객체는 수퍼 클래스 객체를 포함하기 때문. 상향 형변환 Shape *ps = new Rectangle(); 하면 객체 포인터가 Rectangle > Shape로 상향 ..
2022.05.18
TIL/[C++ 프로그래밍} TIL
TIL 22.05.11
typical pre 참조값을 참조함 ++(int) : 그 객체의 복사본을 내야함 += oprerator typical [] operation 매개변수가 int type 를 받았죠. 변환하는게 아님 ㅇㅇ 고치지 않기 위해 const를 쓴다. os 는 cout을 받고 m1 은 *p를 인자로 둔 애를 받아 + : 문자끼리 더하는게 아니죠! 옆에 붙인다는 뜻 return *this를 리턴함 strcpy (new p, p) : p를 new p 에 복사함 friend 함수로 선언하면 서로 인자 공유 가능해짐 깊은복사 &s != this : b의 주소와 a의 주소가 다르면 s의 사이즈 +1 만큼의 배열을 할당해서 복사해서 집어넣음 변환생성자 클래스 상속 형식 : 클래스 이름 + 접근지장자 + 부모클래스 UML 자식..
2022.05.11
TIL/[C++ 프로그래밍} TIL
TIL (22.04.18)
동적 할당 . int arr = new int[10] new 로 할당 받고 delete[] arr delete[]로 지워진다. 무조건 delete []이다 [] 빼먹으면 지옥감.. 메모리는 byte 기준으로 주소가 매겨진다 포인터는 주소를 저장할 수 잇는 변수이다. 변수 x의 주소를 추출하려면 &x 라고 하면 된다. *p의 의미는 int 형 포인터 이다 int 형 포인터 p가 가리키는 위치에 100을 저장하는 문장은 *p = 100; 이다 포인터가 아무것도 가리키고 있지 않는 경우에는 NULL값을 넣어두는 편이 좋다 . 배열 a 에서 a는 첫번째 원소의 주소이다. p가 포인터라면 p[2]는 수식 *(p+2)와 같다. *p++는 p위치의 값을 추출한 뒤에 1을 더함 // 후술하겠음. int 형 포인터 p가..
2022.04.18
TIL/[C++ 프로그래밍} TIL
Prev
1
2
3
Next
티스토리툴바