创建一个队列类(Queue, FIFO)
声明:
class queue{
int q[20];
int front,rear;
public:
void init();
void qput(int i);
int qget();
};
成员变量:q[], front , rear
- 默认的情况下是私有的(private): 只能被queue类的成员访问.
成员函数: init(), qput(); qget();
- public: 可以被程序中的其他函数访问.
- 要实现成员函数,需要使用运算符:: (作用域解析运算符)告诉成员函数是属于该类的。
void queue::qput(int i){
if(rear==20){
cout<<"Queue is full.\n";
return;
}
rear++;
q[rear]=i; //在队尾进行数据插入
}
创建对象: queue Q1,Q2;
成员函数调用: 只能通过相应的对象来调用(对象名和.运算符 )
queue object1,boject2;
object1.init();
//完整的代码:
#include <iostream>
using namespace std;
//创建类queue
class queue{
int q[20];
int front,rear;
public:
void init();
void qput(int i);
int qget();
};
//初始化类queque
void queue::init(){
front=rear=0;
}
//在队尾插入一个整数
void queue::qput(int i){
if(rear==20){
cout<<"Queue is full.\n";
return;
}
rear++;
q[rear]=i;
}
//在队首取出一个整数
int queue::qget(){
if(front==rear){
cout<<"Queue underflow.\n";
return 0;
}
front++;
return q[front];
}
int main(){
queue q1,q2; //创建2个queue 对象(object)
q1.init();
q2.init();
q1.qput(15);
q2.qput(18);
q1.qput(25);
q2.qput(28);
cout<<"Queue q1:";
cout<<q1.qget()<<" ";
cout<<q1.qget()<<"\n";
return 0;
}
输出结果:
Queue q1:15 25
类的通用形式:
class class_name{
private data and functions
public:
public data and functions
} object-list;