컴퓨터 수업/C++(39)
-
#include <algorithm>
#include #include #include #include using namespace std; int main() { vector v1{1, 2, 3, 4}; for (int elem : v1) { cout
2020.12.01 -
Lambda Function
람다(Lambda의 의미란?) 수학적으로 어떤 중간과정 변수를 의미한다. 함수 포인터 함수도 인자로 주고받을 수 있다. 이때 꼭 함수 포인터라고 하지 않아도 좋지만, 포인터로 유사 pass by reference를 구현할 수도 있다는 것을 알았으면 좋겠다. Call by Value #include using namespace std; int sum(int x, int y) { return x + y; } int mult(int x, int y) { return x * y; } int abcd(int a, int b, int c) { return a + b + c; } int evaluate(int(f)(int, int), int x, int y) { return f(x, y); } int main() {..
2020.11.30 -
템플릿★
템플릿 함수 기본 template T get(T _t){ return _t; } 오버로딩 template void print(T _t, int x){ cout
2020.11.19 -
템플릿(임시)
참고: m.blog.naver.com/vjhh0712v/221553593414 m.blog.naver.com/vjhh0712v/221561418596 blog.plorence.kr/528 할말: C++에서는 템플릿, 자바에서는 generic이라고도 불리우는 이 "형식"은 arbitrary를 지원하기 위한 방식이다. 수학에서 흔히 보는 "임의의 x에 대해 condition1을 만족하는~" 이라는 문장은 다시말해, "모든 x에 대해" 라고 해석되기도 하므로. 이 "템플릿"이라는 형식은 "모든 형식에 대한 고려"와 "임의의 형식에 대한 고려"라는 의미를 함축한다. "모든 형식에 대한 고려"의 관점에서 보면, template 라는 statement는 컴파일타임에 모든것을 준비한다고도 여겨진다. 예를들어, 컴파일..
2020.11.19 -
virtual , 업/다운 캐스팅, 정적타입바인딩, 추상클래스 ★
@참고 twinw.tistory.com/58 Binding의 개념 1. Binding의 개념 프로그래밍에서 어떤 대상물의 이름을 그것이 나타내는 실제의 대상물과 연결하는 것. 즉 식별자가 그 대상인 메모리 주소, 데이터형 또는 실제값으로 배정되는 것이다. 예로 twinw.tistory.com lesslate.github.io/cpp/%EC%97%85-%EC%BA%90%EC%8A%A4%ED%8C%85-%EB%8B%A4%EC%9A%B4-%EC%BA%90%EC%8A%A4%ED%8C%85/ C++ 업캐스팅 다운캐스팅 Intro lesslate.github.io @주의해야 할 것은 정적 바인딩과 정적 타입 바인딩은 다르다. Static binding is different with Static Type bindi..
2020.11.10 -
C++ 상속
@먼저 기본적인 소스코드를 보자면 다른건 볼 필요없고 가장 중요한건 마지막줄의 derived.print_base(); 이다. 상속받은 클래스의 인스턴스가 부모클래스의 메서드를 사용했다. 부모클래스,super클래스,base클래스(기본클래스) 모두 동의어, 상속을 "해주는" 클래스를 이와같이 표현 자식클래스,sub클래스,derived클래스(파생클래스) 모두 동의어, 상속을 "받는" 클래스를 이와같이 표현 @상속은 어떤 문법으로 이뤄지는가? 접근지정자가 상속을 해주는 직접적인 문법은 아니니, 어떻게보면 : 라는 operator가 상속을 지시하는것이라 생각할 수도 있겠다. 다중 상속은 , 으로 나눈다 ex) class Parent:public child1,public child2{}; @상속 접근 지정자란 무엇..
2020.11.05