创建一个队列类(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;