포인터와 동적메모리 활당
1.클래스 객체에 대한 포인터
객체앞에 포인터 *연산자를 붙여서 간접적으로 참조할 수 잇습니다.
포인터를 이용한 객체를 참조하려면 간접연산자 ->를 사용해야 합니다.
2.포인터 객체에 대한 동적 메모리 활당
연산자 new로 포인터 객체에 메모리를 할당하고 delete로 해제해야 합니다.
/***** garosero.h*******/
#include <iostream>
#include <cstriing>
using namespace std;
class Csquare
{ private:
int garo, sero;
public:
void Set_garosero(int a, int b);
void Get_area();
};
void Csquare::Set_garosero(int a, int b){
garo = a;
sero = b;}
void Csquare::Get_area(){ return garo *sero;}
class CSqr
{ private:
int N;
public:
void Set_Number( int n){ N=n;}
void Get_rootsqr(){ return N*N;}
};
/*********garosero.cpp****************/
#include “garosero.h”
void main(void)
{
Csquare S1, *ps;
ps = &S1;
int w, h;
cout<<“사각형 가로세로 입력”<<endl;
cout<<“가로: ”; cin>>w; cout<<endl;
cout<<“세로: ”; cin>> h; cout <<endl;
ps->Set_garosero(w,h);
cout<<“S1의 넓이: ”<<S1.Get_area(); cout<<endl;
cout<<“ps의 넓이: ”<<ps->Get_area(); cout<<endl;
CSqr *pSqr;
int i;
pSqr = new CSqr;
cout<<“ 제곱근 구하기: ”; cout<<endl;
cout<<“ 데이타 입력: ”; cin>> i; cout<<endl;
cout<<“ 제곱근: ”;
cout<<pSqr->Get_rootsqr()<<endl;
delete pSqr;
}