static 멤버와 non-static 멤버의 특성 [ static ] : 변수와 함수에 대한 기억 부류의 한 종류 생명 주기 : 프로그램이 시작될 때 생성, 프로그램 종료 시 소멸 사용 범위 : 선언된 범위, 접근 지정에 따름 [ 클래스의 멤버 ] - static 멤버 프로그램이 시작할 때 생성 클래스 당 하나만 생성, 클래스 멤버라고 불림 클래스의 모든 인스턴스들이 공유하는 멤버 - non-static 멤버 객체가 생성될 때 함께 생성 객체마다 객체 내에 생성 인스턴스 멤버라고 불림 [ static 멤버 선언 ] - 예제로 이해하기 class Person { public: // non-statice 멤버 선언 double money;// 개인 소유의 돈 void addMoney(int money) {..
Programming
참조리턴 [ 참조리턴 ] C 언어의 함수 리턴 : 함수는 반드시 값만 리턴 기본 타입 값 : int, char, double 등 포인터 값 C++ 의 함수 리턴 : 함수는 값 외에 참조리턴 가능 참조리턴 : 변수 등과 같이 현존하는 공간에 대한 참조 리턴으로, 변수의 값을 리턴하는 것이 아님 [ 값을 리턴하는 함수 VS 참조를 리턴하는 함수 ] 문자 값을 리턴하는 get() char c ='a'; char get() {// char 리턴 return C;// 변수 c의 문자('a') 리턴 } char a = get();// a = 'a'가 됨 get() = 'b';// 컴파일 오류 char 타입의 참조(공간)을 리턴하는 find() char c = 'a'; char& find() {// char 타입의 ..
객체 치환 및 객체 리턴 [ 객체 치환 ] 연산자를 이용하여 새로운 객체에 원본 객체를 대입하는 대입문이라고 생각하면 이해하기 쉬움. 동일한 클래스 타입의 객체끼리 치환 가능 객체의 모든 데이터가 비트 단위로 복사 치환된 두 객체는 현재 내용물만 같을 뿐, 독립적인 공간을 유지 Circle c1(5); Circle c2(30); c1 = c2; // c2 객체를 c1 객체에 비트 단위로 복사하여 c1의 반지름은 30이 된다. [ 객체 리턴 ] 객체의 복사본을 리턴한다. Circle getCircle() { Circle tmp(30); return tmp;// 객체 tmp를 리턴 } Circle c;// c는 반지름 1 c = getCircle();// tmp 객체가 복사본 c에 치환하여 c반지름은 30이..