/*1. 다음 배열을 가리킬 수 있는 포인터 변수를 선언 및 초기화 하
세요.
1) int C[9];
2) char B[20];
3) double A[10][10];
4) int D[5][7];
5) char E[4][5];
배열 << 포인터변수 <<선언 및 초기화 */
#include <iostream>
using namespace std;
int main()
{
int C[9]={0, }; //배열 선언 {0, }를 입력하면
나머지를 다 0으로 선언.
char B[20]="asd"; //문자열 입력.
double A[10][10];
int D[5][7];
char E[4][5]={"ghjk", };
int* dC = &C[0]; //int 포인터 변수 dC를 선언, 배
열의 첫째 주소입력, C를 넣어도 같은 값 출력.
char* dB = &B[0];
double (*dA)[10] = &A[0];
int (*dD)[7] = &D[0];
char (*dE)[5] = E;
cout << C[0] <<"\n"; //모두 0이 된 것을 확인
cout << C[1] <<"\n"; //모두 0이 된 것을 확인
cout << &C[0]<<"\n"; //배열의 첫째 주소 출력
cout<< dC<<"\n"; //포인트 변수 dC를 출력
cout << C <<"\n"; //배열 C를 출력
cout <<"\n";
//배열의 첫째 주소 = 포인트변수 = 배열C
출력값 같음.
//(배열 이름은 주소)
cout << &B[0] <<"\n";
cout << dB << "\n";
cout << B << "\n";
cout << &B[1] <<"\n";//각각의 인덱스에 넣어진거 증명.
cout << &B[2] <<"\n";
cout <<"\n";
cout << &A[0] <<"\n";
cout << dA <<"\n";
cout << A <<"\n";
cout <<"\n";
cout << &D[0] << "\n";
cout << dD << "\n";
cout << D << "\n";
cout <<"\n";
cout << &E[0][0] << "\n"; //그 지점에 값이 있으니
까 출력된다.
cout << &E <<"\n";
cout << dE << "\n";
cout << E << "\n";
return 0;
}
/*2. 함수의 선언은 다음과 같습니다. 이 함수를 가리킬 수 있는 포인터
변수를 선언 및 초기화 하세요.
1) char IntToChar(int num);
2) void MaxNum(int N1, int N2);
3) int OutputIDnum(char* name, int pwd);*/
#include <iostream>
using namespace std;
char IntToChar(int num)
{
return 0;
}
void MaxNum(int N1, int N2)
{
}
int OutputIDnum(char* name, int pwd)
{
return 0;
}
int main()
{
char (*f1)(int)= IntToChar;; //함수 선언
void (*f2)(int , int)=MaxNum;
int (*f3)(char* , int) = OutputIDnum;
cout << f1<<"\n"; //출력
cout << f2<<"\n";
cout << f3<<"\n";
return 0;
}
/*3. 클래스 멤버 함수를 가리킬 수 있는 포인터 변수를 선언 및 초
기화를 하세요.
(클래스 외부에서 포인터 선언한다고 가정)
class Point{
private:
int x, y;
public:
Point();
Point(int initX, int initY);
Point(const Point& pt);
void SetX(int value);
void SetY(int value);
int GetX();
int GetY();
static void SetGlobal(int g_val);
};
*/
#include <iostream>
using namespace std;
class Point{
public:
int x, y;
Point();
Point(int initX, int initY);
Point(const Point& pt);
//void SetX(int value);
//void SetY(int value);
int GetX();
int GetY();
void Print();
static void SetGlobal(int g_val);
};
typedef void (Point::*FP1)(int);
void Point::Print()
{
cout <<"(" << x << ", " << y << ")\n";
}
void
int main()
{
Point pt(50 ,50);
//FP1 fp1 = &Point::SetX;
(pt.*fp1)(100);
pt.Print();
return 0;
}
/*4. 사용자에게 년도를 입력 받아 윤년인지 아닌지를 판단하는 판
|
'About 프로그래밍!!! > C++' 카테고리의 다른 글
[C++]This 포인터 (0) | 2010.06.25 |
---|---|
[C++]클래스에 넣을 수 있는 다른 것들. (0) | 2010.06.25 |
[C++]정적멤버 함수에서 객체 생성하기 (0) | 2010.06.23 |
[C++]생성자와 소멸자의 호출 시점 (0) | 2010.06.23 |
[C++]동적으로 객체 생성하기. (0) | 2010.06.23 |