6. http://blog.naver.com/ruvendix
함수 오버로딩
C++은 매개변수의 형식과 개수로
함수를 구분할 수 있다!
Show라는 식별자는 같지만 전부 다 다른 함수!
void Show(void);
void Show(int iNum);
void Show(int *pNum);
void Show(double dNum);
Show();
Show(10);
Show(&iAge);
Show(10.26);
7. http://blog.naver.com/ruvendix
기본 인자
C++에는 오른쪽 매개변수부터
기본 인자를 설정할 수 있다!
기본 인자는 오버로딩에 영향을 줄 수 있음!
void CheckButton(int iNum, bool bCheck = false)
{
if (bCheck == true)
{
cout << “버튼 클릭!n”; // 이렇게도 가능
}
}
9. http://blog.naver.com/ruvendix
동적할당 연산자 new와 delete
C++에는 동적할당 연산자인
new와 delete가 있다!
어떻게 보면 malloc()과 free()와 비슷하지만
new와 delete는 함수가 아니라 연산자!
int *pNum = new int; // int 1개 할당
int *pNumList = new int[10] // int 10개 할당
delete pNum; // 단위 공간 해제
delete[] pNumList; // 연속 공간 해제
10. http://blog.naver.com/ruvendix
구조체의 확장
C++의 구조체는 함수를 가질 수 있다!
그리고 구조체 변수를 선언할 때 struct를 생략할 수 있다!
struct StudentInfo
{
char Name[20];
ShowInfo(void)
{
cout << Name << endl;
}
}
StudentInfo Student = {“박미송”};
Student.ShowInfo();