가상함수(Virtual function)의 동작원리 가상함수(Virtual function)의 동작원리 클래스의 멤버 함수클래스의 멤버 함수는 클래스 내에 존재하지 않고, 메모리 어딘가에 저장된다.각 객체는 어딘 가에 저장된 멤버 함수를 공용으로 사용. 다음 과 같은 클래스가 있다고 하자.class AAA: { public: virtual void Func1() { cout 아카이빙/C, C++ 2018.05.27
상속에서 객체의 생성, 소멸과정 상속과 객체의 생성, 소멸과정샘플 코드를 만들어 실험을 해보자. Base 클래스와 Derived 클래스 정의class Base { private: int val; public: Base(int n) : val(n) { cout 아카이빙/C, C++ 2018.05.27
malloc과 new의 차이 malloc과 new의 차이malloc은 라이브러리 함수인 반면, new는 연산자malloc은 void 포인터를 반환하므로 타입 캐스팅이 필요하지만, new는 해당 타입의 포인터를 반환malloc은 메모리 할당만 가능, new는 메모리 할당과 동시에 초기화 가능. 동시에 new는 생성자가 호출된다.malloc은 realloc으로 크기 재할당 가능. 아카이빙/C, C++ 2018.05.27
struct와 class 차이 struct와 class 차이c++에서 struct와 class는 무슨 차이가 있을까?class는 객체지향적으로, 멤버 변수에 대한 접근 권한을 설정할 수 있고, 생성자, 메소드를 추가할 수 있고, 상속도 되지만 struct는 안된다!그런 줄 알았는데 아니었다. struct에서도 다 된다. (C++) struct#include #include using namespace std; struct Sample { private: int val; public: Sample() { val = 9; } void Print() { cout 아카이빙/C, C++ 2018.05.27
strcpy와 strncpy strcpy와 strncpystrcpy와 strncpy는 문자열을 복사하는 함수로 알고 있음둘의 차이를 몇 가지 예시를 통해 알아보고자 함 1. 복사 범위char dest[20] = "Hello, World!"; char src[20] = "Banana"; strcpy(dest, src); printf("%s\n", dest, src); for (int i = 0; i 아카이빙/C, C++ 2018.05.27