클래스 객체 배열을 이용한 입력과 동적할당.
4명의 주소록과 그에 관한 정보를 저장하는 클래스이다.
//NameCard.h
#include <iostream>
class NameCard
{
char* name;
char* tel;
char* regi;
char* position;
public:
NameCard()
{
}
NameCard(char* _name,char* _tel,char* _regi,char* _position)
{
name=new char[strlen(_name)+1];
strcpy(name,_name);
tel=new char[strlen(_tel)+1];
strcpy(tel,_tel);
regi=new char[strlen(_regi)+1];
strcpy(regi,_regi);
position=new char[strlen(_position)+1];
strcpy(position,_position);
}
~NameCard()
{
delete []name;
delete []tel;
delete []regi;
delete []position;
}
void set(char* _name,char* _tel,char* _regi,char* _position);
void showdata();
};
//NameCard.cpp
#include <iostream>
#include "NameCard.h"
using namespace std;
void NameCard::showdata()
{
cout<<"name = "<<name<<' '<<"register : "<<regi<<' '<<"tel : "<<tel<<' '<<"position : "<<position<<endl;
}
void NameCard::set(char* _name,char* _tel,char* _regi,char* _position)
{
name=new char[strlen(_name)+1];
strcpy(name,_name);
tel=new char[strlen(_tel)+1];
strcpy(tel,_tel);
regi=new char[strlen(_regi)+1];
strcpy(regi,_regi);
position=new char[strlen(_position)+1];
strcpy(position,_position);
}
//main.cpp
#include "NameCard.h"
#include <iostream>
using namespace std;
int main()
{
char _name[10];
char _regi[100];
char _tel[100];
char _position[100];
//NameCard namecard("박xx","0109x96xxxx","집","대장");
NameCard namecard[4];
for(int i=0;i<4;i++)
{
cout<<"이름 입력 : "; cin>>_name;
cout<<"주소 입력 : "; cin>>_regi;
cout<<"전번 입력 : "; cin>>_tel;
cout<<"직급 : "; cin>>_position;
namecard[i].set(_name,_tel,_regi,_position);
namecard[i].showdata();
}
return 0;
}