카테고리 없음

포인터와 동적 메모리 활당

내동 2021. 9. 6. 05:03

포인터와 동적메모리 활당

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;

}