반응형
본문 바로가기

지식창고

(35)/h
(C++)클래스의 맴버이니셜라이저란? 자 오늘은 클래스의 맴버이니셜라이저에 대해서 알아보도록 하겠습니다. 먼저 모두 아시다시피 클래스에서는 맴버 변수와 const상수(변수)에는 직접적인 초기화가 불가능 하다는 것을 알고 계실거라 생각됩니다. 바로 이 때 이니셜라이저를 사용하면 선언과 동시에 초기화를 가능하게 할 수 있다는 점!!! 먼저 이니셜라이저를 사용하기 전 클래스에서의 초기화 방법은 아래예제와 같았을건데요. 맴버이니셜라이저 콜론( : )의 사용방법들은 예제소스에서 설명하겠습니다~ //맴버 이니셜라이저 이전 초기화. #include using namespace std; class Test { private: int num1; int num2; public: void Show_num() { //초기화 전 num1과 num2에 저장된 값을 ..
(C++)클래스의 소멸자란? 바로 다음 글 가지고 왔습니다!!! ㅎㅎ 자 클래스의 소멸자란 무엇이냐!!!! 바로!!! new와 delete과 같이 생성자와 함께 쓰여야 하는 세트 커맨드라고 보시면 되겠습니다. 생성자가 객체가 생성될 때 호출되는 것에 비해, 소멸자의 경우는 객체가 소멸될 때 호출을 하게 되는데요~ 여기서 조심하셔야 할 것은 소멸자는 맴버 함수이고, 소멸자의 함수 이름도 생성자처럼 클래스 명을 사용해야 합니다! 제 기준으로 차이있고 없고를 말씀드리자면... 흠... 정말 편하게... 소멸자 함수와 생성자 함수의 함수명 앞에 '~' 기호가 있고 없고 차이라고 말씀드리고 싶어요!!! 하...하... 자 이번에도 간단한 예제로 생성자가 호출 될 시와 소멸자가 호출 될 시의 차이를 보도록할께요~ #include using n..
(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

반응형