/******** 객체 포인터 *********/
#include<iostream>
using std::cout;
using std::endl;
using std::cin;
class A
{
public:
A(int _a,int _b)
{
a=_a;
b=_b;
}
void show()
{
cout<<"a= "<<a<<", b= "<<b<<endl;
}
private:
int a,b;
};
int main()
{
A *p[5]; // A 타입의 객체를 가리키는 포인터배열 5개
for(int i=0;i<5;i++)
{
int a,b;
cout<<"정수 두개입력 : ";
cin >> a>>b;
p[i] = new A(a,b*10);
}
for(i=0;i<5;i++)
{
p[i]->show();
}
for( i=0;i<5;i++)
{
delete p[i];
// delete []p 는 []<- 이 가리키는 타입이 배열일경우 사용
}
return 0;
}
#include<iostream>
using std::cout;
using std::cin;
using std::endl;
class Telephone
{
public:
Telephone(char *pN, char *pH)
{
strcpy(name,pN);
strcpy(pnum,pH);
}
void showdata()
{
cout<<"이 름: "<<name<<"\t전화번호 : "<<pnum<<endl;
}
private:
char name[20];
char pnum[20];
};
int main()
{
Telephone *T[5];
cout<<" ** 전화번호 입력 **"<<endl;
for(int i=0;i<5;i++)
{
char name[20];
char pnum[20];
cout<<"이름 : ";
cin>>name;
cout<<"전화번호:";
cin>>pnum;
T[i]= new Telephone(name,pnum);
}
for(i=0;i<5;i++)
{
T[i]->showdata();
}
for(i=0;i<5;i++)
{
delete T[i];
}
return 0;
}