여기 아주 간단한 프로그램이 있습니다. 내 목표는 b를 c와 같게 만드는 것, 즉 c의 모든 내용을 b로 복사하는 것입니다. 하지만 어떻게해야할지 모르겠다. getdata() 함수는 객체 배열 c를 가리키는 포인터를 반환하지만 어떻게 c를 b에 넣을 수 있습니까?개체 배열을 전달하는 방법은 무엇입니까?
#include<iostream>
#include<stdlib.h>
using namespace std;
class A
{
public:
A(int i,int j):length(i),high(j){}
int length,high;
};
class B
{
private:
A c[3] = {A(9,9),A(9,9),A(9,9)};
public:
A* getdata()
{
return c;
}
};
int main()
{
A b[3]={A(0,0),A(0,0),A(0,0)};
B *x = new B();
cout<< x->getdata() <<endl;
cout << b[1].length<<endl;
return 0;
}
사용'표준 : array' :
std::vector
(live here on codepad)를 사용하여 코드의 가능한 부분 수정의. 그것은 자연 복사 개념을 가지고 있습니다. 여기에'new '를 사용할 이유가 없습니다. – chris
@chris Aaannnd 대답입니다; p – Quentin
아무도 참조 나 다른 것을 사용하지 않습니까? – texasbruce