객체를 (파라메터/리턴값)으로 사용하는 함수
프로그래밍2006. 3. 3. 17:10
#include <iostream.h>
#include <string.h>
//클래스의 정의
class Employee
{
public:
int number;
char name[80];
long pay;
void ShowData();
};
//멤버함수의 정의
void Employee::ShowData()
{
cout << number << "\n";
cout << name << "\n";
cout << pay << "\n";
}
//클래스의 정의
class MyClass
{
public:
//객체의 포인터를 인수로 하는 멤버 함수
void UseObject(Employee *obj);
//객체의 포인터를 리턴하는 멤버 함수
Employee *RetObject(void);
};
//멤버 함수의 정의
void MyClass::UseObject(Employee *obj)
{
obj->ShowData();
}
Employee *MyClass::RetObject(void)
{
static Employee obj; //객체 소멸방지(static)
obj.number = 1234;
strcpy(obj.name, "김병호");
obj.pay = 2000000;
return &obj;
}
//클래스를 사용하는 측의 코드
void main(void)
{
Employee *someone;
MyClass mc;
//객체의 포인터를 취득한다
someone = &mc.RetObject();
//객체의 포인터를 함수에 대입한다
mc.UseObject(someone);
}
#include <string.h>
//클래스의 정의
class Employee
{
public:
int number;
char name[80];
long pay;
void ShowData();
};
//멤버함수의 정의
void Employee::ShowData()
{
cout << number << "\n";
cout << name << "\n";
cout << pay << "\n";
}
//클래스의 정의
class MyClass
{
public:
//객체의 포인터를 인수로 하는 멤버 함수
void UseObject(Employee *obj);
//객체의 포인터를 리턴하는 멤버 함수
Employee *RetObject(void);
};
//멤버 함수의 정의
void MyClass::UseObject(Employee *obj)
{
obj->ShowData();
}
Employee *MyClass::RetObject(void)
{
static Employee obj; //객체 소멸방지(static)
obj.number = 1234;
strcpy(obj.name, "김병호");
obj.pay = 2000000;
return &obj;
}
//클래스를 사용하는 측의 코드
void main(void)
{
Employee *someone;
MyClass mc;
//객체의 포인터를 취득한다
someone = &mc.RetObject();
//객체의 포인터를 함수에 대입한다
mc.UseObject(someone);
}
'프로그래밍' 카테고리의 다른 글
Windows Prog. DataType (3) | 2006.03.28 |
---|---|
널문자가 존재하는 이유 (0) | 2006.03.07 |
파일 끝을 알아내는 방법 (0) | 2006.02.16 |
함수 호출시 파라메터 사용법 (1) | 2006.02.15 |
파일의 크기 구하기 (0) | 2006.02.14 |