설명이 좀 없는 단어에 대한 글
멤버 변수 / 멤버 함수 / 생성자 / 접근자 / 소멸자
이게 뭘뜻하는가
클래스는 클래스 객체 라고 하는
흔히 쓰이는 글쓰기 양식이나 서식 같은 것이다.
여기서
멤버 변수 란 해당 클래스 내에서 정의되고 사용되는 변수.
멤버 함수란 해당 클래스 내에서 사용되는 함수[함수의 내용을 정의해주어야 작동한다]
생성자 란 클래스 내부의 멤버 변수에 관련된 값들에 변화를 줄 수 있는 함수+ 인자 가 묶인 외부에서 호출 가능한 함수.
접근자 란 클래스 내의 접근 권한에 따라 외부에서 접근이 불가능한 것을 가능하게 해주는 기능
소멸자 란 따로 메모리를 해제하지 않아도 사용된 메모리를 해제해주는 코드를 작성하여 자동으로 메모리를 해제하게 하는 기능
을 말한다.
대충 그려본 그림
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
아무 이름 .cpp에 넣고 돌려볼 수 있는 코드
헤더파일은 필요 없음.
\\\\\\\\\\\\\\\\\\\\\\\\\\
코드의 출력결과는 0 1 3 1 이 차례대로 객체 수 로 출력이 된다.
이 이유는 코드를 보면 알 수 있는데 코드 우측에 주석으로 출력 순서를 적어두었다.
멤버 변수 / 멤버 함수 / 생성자 / 접근자 / 소멸자
이게 뭘뜻하는가
클래스는 클래스 객체 라고 하는
흔히 쓰이는 글쓰기 양식이나 서식 같은 것이다.
여기서
멤버 변수 란 해당 클래스 내에서 정의되고 사용되는 변수.
멤버 함수란 해당 클래스 내에서 사용되는 함수[함수의 내용을 정의해주어야 작동한다]
생성자 란 클래스 내부의 멤버 변수에 관련된 값들에 변화를 줄 수 있는 함수+ 인자 가 묶인 외부에서 호출 가능한 함수.
접근자 란 클래스 내의 접근 권한에 따라 외부에서 접근이 불가능한 것을 가능하게 해주는 기능
소멸자 란 따로 메모리를 해제하지 않아도 사용된 메모리를 해제해주는 코드를 작성하여 자동으로 메모리를 해제하게 하는 기능
을 말한다.
대충 그려본 그림
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
아무 이름 .cpp에 넣고 돌려볼 수 있는 코드
헤더파일은 필요 없음.
#include <iostream>
#include <string>
using namespace std;
// 학생 클래스
class Student
{
public:
string name; // 이름
int sNo; // 학번
// 생성자, 소멸자
Student(const string& name_arg, int stdNumber);
~Student();
public:
// 정적 멤버들
static int student_count;
static void PrintStdCount();
};
// 정적 멤버 변수
int Student::student_count = 0;
// 정적 멤버 함수
void Student::PrintStdCount()
{
cout << "Student 객체 수 = " << student_count << "\n";
}
Student::Student(const string& name_arg, int stdNumber)
{
// 학생 객체의 수를 증가시킨다.
student_count++;
name = name_arg;
sNo = stdNumber;
}
Student::~Student()
{
// 학생 객체의 수를 감소시킨다.
student_count--;
}
void Func()
{
// 객체 생성
Student std1("Bill", 342);
Student std2("James", 214);
Student::PrintStdCount();//3 객체 2개 생성[1+2]개
}
int main()
{
Student::PrintStdCount();//1 객체 미지정 : 0개
// 객체 생성
Student std("Jeffrey", 123);
Student::PrintStdCount();//2 객체 1개 생성 : 1개
// Func() 함수 호출
Func();
Student::PrintStdCount();//4 객체 1개 남아있음 : 1개
system("pause");//5
return 0;
}
\\\\\\\\\\\\\\\\\\\\\\\\\\
코드의 출력결과는 0 1 3 1 이 차례대로 객체 수 로 출력이 된다.
이 이유는 코드를 보면 알 수 있는데 코드 우측에 주석으로 출력 순서를 적어두었다.
**공부에 도움이 되었다면 손가락 버튼을 클릭해주심 좋겠습니다.**
'공부 > C++' 카테고리의 다른 글
C++ 객체지향 프로그래밍 Chapter 22 상속과 포함 (0) | 2011.12.16 |
---|---|
C++ 객체지향 프로그래밍 Chapter 21 클래스와 객체 - 2 (0) | 2011.12.15 |
Visual Studio 2008 줄 번호 표시 방법 (0) | 2011.12.06 |
This 포인터란? (0) | 2011.11.25 |
포인터의 덧셈을 사용한 배열의 탐색 (0) | 2011.11.25 |