0
내 제목이 의미가 있는지 확실하지 않습니다. C++로 큐 클래스를 구현하려고합니다. 다음은 내 q.cpp 클래스 내 출력 클래스 (MAIN.CPP)에서 이제 C++의 함수를 통해 클래스에 대한 새 핸들을 만들 때
#include "q.h"
q::q()
{
for(int i = 0; i < q::QUEUE_SIZE; i++)
{
q::data[i] = '0';
}
q::front = q::rear = -1;
printf(" YEA QUEUE HAS BEEN CREATED ");
}
q* q::createQueue()
{
return new q;
}
, 내가 createQueue() 함수 호출을 통해 새로운 큐를 만들 수 있도록하려면 현재에 대한 핸들을 반환 지금까지입니다 이
q* firstQueue = createQueue();
q* secondQueue = createQueue();
내 주요 생성자 Q를 (생각했다)와 같은 큐 클래스 객체
뭔가 개인 있어야하고 createQueue은 다음과 같은 내 QH 파일이 있어야한다 공장 같은 것을 행동해야? 다음
#ifndef Q_H
#define Q_H
#include <stdio.h>
class q
{
public:
void destroy_queue(q* currentQueue);
void enque_byte(q* currentQueue,unsigned char b);
unsigned char deque_byte(q* currentQueue);
static q* createQueue();
private:
static const int QUEUE_SIZE = 2048;
unsigned char data[QUEUE_SIZE];
int front, rear;
q();
};
#endif // Q_H
그리고 내가
를 호출하여 엔큐, 디큐 작업을 할 수있을 것입니다 방법과는enqueue(firstQueue,5);
dequeue(firstQueue);
enqueue(secondQueue,10);
..
..
같은 큐의 수에 대기열에서 작업을하고 물체를 사용하지 그들에게 전화하기
firstQueue->enqueue(...)
나는 약간의 조직과 혼돈 스럽다. 내 코드. 누군가가 그런 구조를 어떻게 성취 할 수 있는지에 대한 통찰력을 줄 수 있기를 바라십니까?
왜 공장 기능이 필요합니까? 큐를 인스턴스화하는 것이 잘못된 이유는 무엇입니까? 'q firstqueue, secondqueue; ' – juanchopanza
그래, 내가 그 큐 객체에 대한 핸들을 반환하는 createQueue() 함수를 갖기를 바라고있는 C++ 프로그래밍 문제에 대해 언급하는 것을 잊었다! – Htlcs
그 도전에 대한 링크가 있습니까? 'createQueue' 함수를 필요로하는 몇 가지 추가적인 요구 사항이 있거나 여러분이 요구 사항을 잘못 이해했거나 C++이 어떻게 보이는지에 대한 잘못된 이해를 가진 사람들이 작성한 것입니다. –