메뉴 바로가기 검색 및 카테고리 바로가기

한빛미디어

뇌를 자극하는 C++ 프로그래밍

뇌를 자극하는 C++ 프로그래밍 질의응답 게시판입니다.

[이동] 이현창님 안녕하세요.

2006-08-05

|

by picnic

1815

책 감사히 읽고 있습니다.
다름이 아니오라 배열을 레퍼런스로 넘기는 방법에 대해서 궁금합니다. 현창님 책을 참고하고 다른 책을 참고해도 잘 나오지 않아서 이렇게 질문을 드립니다. 다음 코드에서

MyClass의 void InputData(Employee obj[]);의 인수 obj[]를 레퍼런스 &obj[]로 할 수 는 없나요?

호출측에서  mc.InputData(myobj)로 호출하고 수신측에서 이 객체배열을 레퍼런스로 받는 방법은 없나요? 안될것 같지만 될 듯도 싶어서 이렇게 좀 어리석은 의문을 올립니다. ^^;

그럼 안녕히 계세요. 답변을 기다리면서......

picnic 올림


===================== 코드 =======================

#include
#include

// 클래스의 정의
class Employee
{
    public:
       int number;                // 사원번호  
       char name[80];        // 성명
       long pay;                   // 급여
       void ShowData();        // 멤버 변수의 값을 출력
        
};

class MyClass
{
public:
   void InputData(Employee obj[]);
};

// 멤버 함수의 정의
void MyClass::InputData(Employee obj[])
{
        int i;
        for(i = 0; i < 3; i++)
        {
                cout << "사원 번호\n";
                cin >> obj[i].number;
                cout << "사원 이름\n";
                cin >> obj[i].name;
                cout << "사원 급여\n";
                cin >> obj[i].pay;
        }
}


void Employee::ShowData()
{
    cout << number << "\n";
    cout << name << "\n";
    cout << pay << "\n";

        return;
}

//클래스를 사용하는 측의 코드
main()
{
    // 객체를 작성한다.
    Employee myobj[3];
    MyClass mc;
    int i;

    mc.InputData(myobj);
    
    // 객체의 멤버를 출력한다.
    for (i = 0; i < 3; i++)
    {
        myobj[i].ShowData();
    }

    return 0;
}
댓글 입력
자료실