반응형
본문 바로가기

지식창고/프로그래밍

(25)/h
(C++)디폴트 생성자란? 안녕하세요~ 여러분~~ 작은서기입니다~~~ 요새 개인일이 바쁘다보니 글이 느릿느릿해지네요 ㅜㅜ 자 오늘은 c++의 디폴트 생성자에 대해서 간단하게 다뤄볼께요~ 디폴트 생성자란 무엇이냐~~~!!!! 단어 뜻 그대로 해석하면 '기본(값) 생성자'라고 보시면 되겠는데요. 좀 풀어서 설명하자면, 컴파일러가 자동적으로 생성해주는데, 그 때 바로 클래스 내에 정의된 생성자가 하나도 없을 때에 컴파일러 쪽에서 디폴트 생성자로 생성을 해주는 것입니다. 오늘도 간단하게 예를 들어볼께요~ #include using namespace std; class Test { private: int num; public: Test(); ~Test(); }; Test::Test() { cout
(C++)클래스의 깊은 복사란? 깊은 복사를 설명하기 위하여 일단은 얕은 복사와의 차이점의 개념을 잡고가야합니다!. 그것은 바로 얕은 복사는 포인터 값 즉, 주소만을 복사되는 것이며, 깊은 복사는 값 자체를 복사하여 해당하는 것에 복사를 한다는 의미로 보면 될 것 입니다. 무슨 말이냐구욤?! 하하.... 말이 필요할까욤? 간단한 예제소스 들구왔습니다~ //먼저 얕은복사 #include #include using namespace std; class Test { private: char *name; char *address; public: Test(char *_name, char *_address) { name = new char[strlen(_name)+1]; strcpy(name, _name); address = new char[st..
(C++)묵시적 변환이란? 묵시적 변환이란 비쥬얼스튜디오에서 예를 들어 int형 변수 num1에 10으로 초기화하고double형 변수 num2에 2.0으로 초기화 하였다고 가정을 한다면, 결과는 어떻게 될 것이라고 생각하시나욤? 결과는 어렵지 않게, 답이 나올거라 생각됩니다. 이번에도 간단한 예제소스를 들구 왔습니담! 예제 소스는 클래스를 사용하여 묵시적변환을 설명하기보다는 c에서 사용할 때 형변환을 응용하여 설명하는 것이 받아들이기 쉬울 것 같아 c의 형변환을 예로 삼은 것입니다. c++을 공부하면서 묵시적변환의 개념을 잡는데 도움을 주기 위함일 뿐 아래 예제가 클래스의 묵시적변환을 100프로 예를 들어 100프로 설명을 한 것은 아니라고 말하고 싶으며, 이 예제를 보고 감을 잡아 자신이 직접 해보기를 권유하고 싶네요- #inc..
(C++)클래스의 정보은닉이란? 이번에는 c++에서 사용되는 클래스를 숨기는 정보 은닉에 대해 알아보겠습니다~~ 짝짝짝~ 정보은닉이란 선언된 클래스 외부에서 직접적인 접근을 막는 것을 의미하는데요. 즉, A프로그래머가 값이 변동되지 않도록 하고 싶은 변수 a와 b를 사용하여 코딩을 하였는데, B라는 프로그래머가 실수로 변수 a와 b의 값이 변동되었다고 가정할 때 이러한 실수로 인한 프로그래밍의 결과값 변경을 방지하고자 하여 사용 하는 것이 바로 ‘정보 은닉’이라는 개념이라고 보시면 되겠습니다. 더욱 쉽게 얘기를 하자면 자신이 은행에 실질적으로 입금한 금액은 100만원이라 가정하였을 때, 타인이 실수로 접근을 하여 입금액을 70만원으로 변경되어 버렸다면 30만원이라는 적자가 생기는 실수와 같은 것을 방지할 수 있도록 도와주는 것이라고도 ..
(C++)클래스의 private의 사용방법과 접근 방법 평일에 일이 살짝 바빠서 주말에 되서야 글 하나 정리해서 올리네요 ㅜㅜ 자 오늘은 c++ 클래스의 private의 사용방법과 접근방법에 대하여 간단하게 알아 보겠습니다~ 일단 private의 의미는 정~~~말 간단합니다. 바로 클래스 내부에 있는 함수에서만 접근 할 수 있게 한다는 뜻입니다. 무슨 말이냐구욤? 말이 중허겠습니까~? 간단한 예제를 들구 왔으니 한번 간단하게 개념이해를 위하여 따라해보시죠~ 사용방법(예시) #include using namespace std; class Test { private: void Show_Pr_Data() { cout
(C++)this포인터란? 의미 : 맴버함수 내에서 자기 자신을 가리키는 포인터. 사용방법은 다음과 같습니다- public: int id; Test(int n_id); void Show_Data() const; }; Test::Test(int n_id) { id = n_id; } void Test::Show_Data() const { cout
(C++)new와 delete란? c++에도 메모리를 할당 및 해제를 해줄 수 있는 키워드가 존재합니다. new 키워드가 동적 메모리를 할당 하는 키워드이며, delete 키워드가 new로 할당한 동적 메모리를 할당해주는 키워드 입니다. 이번에는 크게 예제를 가지고 오지 않아도 될 것 같아 간단하게 어떻게 할당하고 해제하는지에 관해서 간단하게 작성해 두도록 하겠습니다- new 의미 : 동적 메모리를 할당하는 것. 사용방법 int형 변수 할당 : int *p1 = new int; double형 변수 할당 : double *p2 = new double; 길이가 3인 int형 배열 할당 : int *arr1 = new int[3]; 길이가 3인 double형 배열 할당 : double *arr2 = new double[3]; char형 포인터..
(C++)const static 키워드란? 의미 : 클래스에서는 알다시피 맴버 변수에 초기화가 직접적으로는 불가능 하지만, 예를 들어 각 나라마다의 인구수나, 땅의 면적 등을 지정할 때 C나 C++에서 자주 사용하였던 const라는 키워드를 통하여 상수화하여 값을 변경되는 것을 막아줄 수 있었습니다. 이와 같이 C++의 클래스의 맴버 변수에 const static을 사용하게 되면, 따로 이니셜라이저를 통하지 않아도 맴버변수를 선언과 동시에 초기화가 가능하게끔 할 수 있다는 것 입니다. 사용방법은 역시나 간단한 예제를 통해보죠~ #include using namespace std; class Test { public: const static int k_population = 5000; const static int c_population = 64;..

반응형