Person Struct (in C++)


// person.h
#ifndef __PERSON_H__
#define __PERSON_H__
#include <string>


struct Person 
{
public:
 // constructor & destructor
 Person() : name(“”), age(0) {}
 Person(std::string n, int a) : name(n), age(a) {}
 ~Person() {}


 // member function
 void SetName(std::string n);
 void SetAge(int a);
 void Print();


protected:
 // member variable
 std::string name;
 int age;
};


#endif




// person.cpp
#include <iostream>
#include “Person.h”


void Person::SetName(std::string n)
{
 name = n;
}


void Person::SetAge(int a)
{
 age = a;
}


void Person::Print()
{
 std::cout << “Name=” << name << ” Age=” << age << std::endl;
}



// main.cpp
#include <iostream>
#include “Person.h”
void main()
{
 Person p1(“고소영”, 5);  // 인스턴스 생성 (초기화)
 Person *p2;
 p1.Print();     // 고소영, 5 출력

 p1.SetName(“이나영”);  // 이름 지정
 p1.SetAge(10);    // 나이 지정
 p1.Print();     // 이나영, 10 출력

 std::cout << std::endl;
 p2 = new Person;  // dynamic allocation
 if (p2) {
  p2->SetName(“소간지”);
  p2->SetAge(20);
  p2->Print();   // 소간지, 20 출력
 }
 delete p2;
}

Leave a Reply

Your email address will not be published. Required fields are marked *