리스트를 사용하여 BigInt의 고유 한 구현을 작성하여 큰 정수의 모든 자릿수를 추적하려고합니다. 각 클래스 구현은 별도의 파일에 있습니다.List를 사용하여 BigInt을 표현하기
struct node
{
int value;
node *next;
};
class LIST
{
private:
node *head;
public:
. . .
};
class BigInt
{
Private:
LIST numList;
Public:
BigInt addNum(BigInt& b);
. . .
};
어떻게 BigInt 클래스로 addNum 메서드를 구현할 수 있습니까? 머리 포인터가 주어진 두 목록에 데이터를 추가하는 방법을 알고 있지만 내 BigInt 클래스에서 목록 클래스의 헤드 포인터에 액세스 할 수 없으므로이 작업을 수행 할 수 있습니까? 모든 팁 감사하겠습니다. 할당
방법 :
가 연결된 목록 기반 임의 정밀도의 부호없는 정수 클래스에서 BigInt를 만듭니다. 은 목록의 이동 통신사 요소를 신경 쓸 필요없이 간단한 방법으로 링크 된 목록을 만들 수 있습니다 (예 : 숫자 및 다음 포인터가있는 구조체 만 만들 수 있음). BigInt 클래스 자체 내에서 링크드리스트를 관리하거나, 숫자 목록을 관리하기 위해 BigInt 클래스의 구성원 (집합/컴포지션 별)으로 연결된 목록 클래스를 사용할 수 있습니다. BigInt는 또한 크기 (얼마나 많은 십진수가 숫자 에 있는지)와 인쇄 폭 (숫자의 기본값을 기본값으로)을 유지해야합니다. 의 BIGINT 클래스
는 메소드가 생성자 사용할 수에서 BigInt에 임의의 부호 길이 긴 INT 을 (할당 정상 (부호 길이 긴 INT 파라미터)를 구현 및 생성자 (0으로 설정) 기본 복사), 두 개의 BigInt를 추가하는 메소드 결과와 함께 새로운 BigInt를 리턴하는 메소드, 두 개의 BigInt를 곱하는 메소드 결과로 새로운 BigIntT를 리턴하는 메소드, BigInt에 십진수 숫자를 리턴하는 메소드, 대입 = 연산자 , 소멸자.
당신이 클래스 목록에 get_head_pointer() 메소드를 추가 할 수 있습니까? – GVH
아니요, 목적은 목록 요소를 추가/제거/인쇄 (반복기) 할 수있는 간단한 공용 인터페이스가 아닌 목록 구현을 캡슐화하는 것입니다. – user3303411
이것이 숙제라고 생각 하나? 과제에서 숫자를 볼 수없는 두 개의 숫자를 추가해야한다고 생각하는 경우, 그 숫자를 잘못 이해 한 것 같습니다. 교수님이나 우리에게 정확히 BigInt 클래스에서 numList의 내용에 액세스하는 것이 허용되는 방식을 명확히해야합니다. – GVH