用c++进行反素数序列的输出

输入三个整数,front(开头),rear(结尾),num(度数),num个相邻的数字相加不是素数,输出从front到rear的反素数序列,如果没有,则输出“没有”。
#include<iostream>
using namespace std;

class Anti_prime{
    private:
        int front;
        int rear;
        int num;
        typedef struct{        //构造队列
            int *data;
            int front;
            int rear;
            int length;
        }Squeue;
        Squeue q;
    public:
        void init_queue()        //初始化队列
        {
            q.data=new int[20];
            q.front=q.rear=0;
            q.length=0;
        }
        void enqueue(int elem)    //入队操作
        {
            q.data[q.rear]=elem;
            q.length++;
            q.rear=(q.rear+1)%20;
        }
        void output_q()    //输出队列
        {
            for(int i=0;i<q.length;i++)
            {
                cout<<q.data[i]<<" ";
            }
        }
        bool isPrime(int obj)    //判断是否为素数
        {
            if(obj==2) return true;
            if(obj%2==0) return false;
            for(int i=3;i*i<=obj;i=i+2)
            if(obj%i==0) return false;
            return true;
        }
        void get_data()        //输入数据
        {
            cout<<"请输入由三个整数组成的输入集:"<<endl;
            cin>>front>>rear>>num;
        }
        void search_ap()    //查找反素数序列
        {
            int i,j,k,temp1,temp2;
            int visited[100]={0};
            for(i=front;i<=rear;i++)
            {
                for(j=i+1;j<=rear;j++)
                {
                    for(k=j+1;k<=rear;k++)
                    {
                        temp1=i+j;
                        temp2=j+k;
                        if(!isPrime(temp1)&&!isPrime(temp2)&&visited[i]==0&&visited[j]==0&&visited[k]==0)
                        {
                            enqueue(i);
                            enqueue(j);
                            enqueue(k);
                            visited[i]=1;
                            visited[j]=1;
                            visited[k]=1;
                            break;
                        }
                    }
                }
            }
            if(q.length==10)
            output_q();
            else
            cout<<"No anti-prime sequence exists."<<endl;
        }
};
int main()
{
    Anti_prime ap;
    ap.init_queue();
    ap.get_data();
    ap.search_ap();
}

我想通过遍历从front到rear的数字,将符合条件的的数字存入队列中,最后如果队列中的数字恰好为rear到front的长度,则输出这个反素数序列,否则输出没有反素数序列。
上面的“查找反素数序列”的函数应该怎么写,我没有任何思路。