연습문제 7-2

#include <iostream>
using std::endl;
using std::cout;

class Person
{
protected:
 int age;
 char* name;
public:
 Person(){}
 Person(int _age, char* _name);
 Person(const Person& p);
 ~Person();
 int GetAge() const;
 const char* GetName() const;
};

Person::Person(int _age, char* _name){
 age=_age;
 name=new char[strlen(_name)+1];
 strcpy(name, _name);
}
Person::Person(const Person & p)
{
 age=p.age;
 name=new char[strlen(p.name)+1];
 strcpy(name, p.name);
}
Person::~Person()
{
 delete []name;
}
int Person::GetAge() const {
 return age;
}
const char* Person::GetName()const
{
 return name;
}


class Student : public Person
{
 char *major;
public:
 Student(int _age, char* _name, char* major);
 Student(const Student& s);
 ~Student();
 const char* GetMajor() const;
 void ShowData()const;
};

Student::Student(int _age, char* _name, char* _major) : Person(_age, _name)
{
 major=new char[strlen(_major)+1];
 strcpy(major, _major);
}

Student::Student(const Student& s){
 age=s.age;
 name = new char[strlen(s.name)+1];
 strcpy(name, s.name);
 major=new char[strlen(s.major)+1];
 strcpy(major, s.major);
}

Student::~Student()
{
 delete []major;
}

const char* Student::GetMajor() const
{
 return major;
}

void Student::ShowData() const
{
 cout<<"이름 : "<<name<<endl;
 cout<<"나이 : "<<age<<endl;
 cout<<"전공 : "<<major<<endl;
}

int main(void)
{
 Student Hong1(20, "Hong gil dong ", "computer");
 Hong1.ShowData();

 Student Hong2=Hong1;
 Hong2.ShowData();

 return 0;
}

by 사니 | 2009/02/15 15:33 | 내맘대로 C++!! | 트랙백 | 덧글(0)

연습문제 7-1

#include <iostream>
using std::cout;
using std::endl;

class Account
{
private:
 char acc_num[10];
 int balance;
public:
 Account(char* num, int bal)
 {
  strcpy(acc_num, num);
  balance=bal;
 }
};

class KBA : public Account
{
 int limit;
public:
 KBA(char* num, int bal, int _limit) : Account(num, bal)
 {
  limit = _limit;
 }
 void ShowData()
 {
  cout<<"계좌번호 : "<<acc_num<<endl;
  cout<<"계좌잔액 : "<<balance<<endl;
  cout<<"이체한도 : "<<limit<<endl;
 }
};

int main(void)
{
 KBA acc("1234-5678", 5000, 10000);
 acc.ShowData();
 return 0;
}

by 사니 | 2009/02/15 14:59 | 내맘대로 C++!! | 트랙백 | 덧글(0)

연습문제 5-1

 #include <iostream>
 using std::cout;
 using std::endl;

 class NameCard
 {
  char* name;
  char* phone;
  char* address;
  char* jig;

 public:
  NameCard(char* _name, char* _phone, char* _address, char* _jig);
  NameCard(const NameCard& N);
  ~NameCard();
  void ShowData();
 };

 NameCard::NameCard(const NameCard& N)
 {
  name=new char[strlen(N.name)+1];
  strcpy(name, N.name);

  phone = new char[strlen(N.phone)+1];
  strcpy(phone, N.phone);

  address = new char[strlen(N.address)+1];
  strcpy(address, N.address);

  jig = new char[strlen(N.jig)+1];
  strcpy(jig, N.jig);

 }

 NameCard::NameCard(char* _name, char* _phone, char* _address, char* _jig)
 {
 
  name=new char[strlen(_name)+1];
  strcpy(name, _name);

  phone=new char[strlen(_phone)+1];
  strcpy(phone, _phone);

  address=new char[strlen(_address)+1];
  strcpy(address, _address);

  jig=new char[strlen(_jig)+1];
  strcpy(jig, _jig);
 }

 NameCard::~NameCard()
 {
  delete []name;
  delete []phone;
  delete []address;
  delete []jig;
 }

 void NameCard::ShowData()
 {
  cout<<"이름 : "<<name<<endl;
  cout<<"전화번호 : "<<phone<<endl;
  cout<<"주소: "<<address<<endl;
  cout<<"직급: "<<jig<<endl;
 }


 int main(void)
 {
  NameCard Lee("Lee ji sun", "333-3333", "www.ezsun.net","missionary");
  NameCard Lee2(Lee);
  Lee2.ShowData();
  return 0;
 }

 

by 사니 | 2009/02/14 21:26 | 내맘대로 C++!! | 트랙백 | 덧글(0)

연습문제 4-2

 #include <iostream>
 using std::cout;
 using std::endl;
 using std::cin;

 class NameCard
 {
  char* name;
  char* phone;
  char* address;
  char* jig;

 public:
  NameCard(char* _name, char* _phone, char* _address, char* _jig);
  ~NameCard();
  void ShowData();
 };

 NameCard::NameCard(char* _name, char* _phone, char* _address, char* _jig)
 {
 
  name=new char[strlen(_name)+1];
  strcpy(name, _name);

  phone=new char[strlen(_phone)+1];
  strcpy(phone, _phone);

  address=new char[strlen(_address)+1];
  strcpy(address, _address);

  jig=new char[strlen(_jig)+1];
  strcpy(jig, _jig);
 }

 NameCard::~NameCard()
 {
  delete []name;
  delete []phone;
  delete []address;
  delete []jig;
 }

 void NameCard::ShowData()
 {
  cout<<"이름 : "<<name<<endl;
  cout<<"전화번호 : "<<phone<<endl;
  cout<<"주소: "<<address<<endl;
  cout<<"직급: "<<jig<<endl;
 }

 const int LEN=30;
 const int SIZE=3;

 int main(void)
 {
  NameCard* arr[SIZE];
  char name[LEN];
  char phone[LEN];
  char address[LEN];
  char jig[LEN];

  for (int i=0; i<SIZE; i++)
  {
   cout<<"--------data 입력---------"<<endl;
   cout<<"이  름 : ";
   cin>>name;
   cout<<"전화번호 : ";
   cin>>phone;
   cout<<"주  소 : ";
   cin>>address;
   cout<<"직  급 : ";
   cin>>jig;

   arr[i]=new NameCard(name, phone, address, jig);
  }
  cout<<endl<<"데이터출력"<<endl;
  for(int j=0; j<3; j++)
  {
   cout<<"-----------------------------"<<endl;
   arr[j]->ShowData();
  }
  return 0;
 }

by 사니 | 2009/02/14 21:18 | 내맘대로 C++!! | 트랙백 | 덧글(0)

연습문제 4-1 문제3

#include <iostream>
using std::cout;
using std::endl;

class NameCard
{
 char* name;
 char* phone;
 char* address;
 char* jig;

public:
 NameCard(char* _name, char* _phone, char* _address, char* _jig);
 ~NameCard();
 void ShowData();
};

NameCard::NameCard(char* _name, char* _phone, char* _address, char* _jig)
{
 
 name=new char[strlen(_name)+1];
 strcpy(name, _name);

 phone=new char[strlen(_phone)+1];
 strcpy(phone, _phone);

 address=new char[strlen(_address)+1];
 strcpy(address, _address);

 jig=new char[strlen(_jig)+1];
 strcpy(jig, _jig);
}

NameCard::~NameCard()
{
 delete []name;
 delete []phone;
 delete []address;
 delete []jig;
}

void NameCard::ShowData()
{
 cout<<"이름 : "<<name<<endl;
 cout<<"전화번호 : "<<phone<<endl;
 cout<<"주소: "<<address<<endl;
 cout<<"직급: "<<jig<<endl;
}


int main(void)
{
 NameCard Lee("Lee ji sun", "333-3333", "www.ezsun.net","missionary");
 Lee.ShowData();
 return 0;
}

by 사니 | 2009/02/14 20:39 | 내맘대로 C++!! | 트랙백 | 덧글(0)

◀ 이전 페이지          다음 페이지 ▶