Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include "stdafx.h"
- #include <iostream>
- class Buffer {
- private:
- float *data;
- int length;
- int current;
- public:
- //Конструктор
- Buffer (int newlen) {
- data = new float[newlen];
- length = newlen;
- current = 0;
- }
- //Деструктор
- ~Buffer () {
- delete[] data;
- }
- void add (float input) {
- //Если в буфере еще есть место, добавляем
- if (current<=length-1) {
- data[current] = input;
- current++;
- } else {
- std::cout<<"Error.\n";
- }
- return;
- }
- float get() {
- //Проверяем, не пуст ли буфер
- if (current>0) {
- float first = data[0];
- for (int i=0; i<current; i++) {
- data[i]=data[i+1];
- }
- current--;
- return first;
- }
- }
- void print() {
- for (int i=0; i<current; i++) {
- std::cout<<data[i]<<"\n";
- }
- return;
- }
- };
- int _tmain(int argc, _TCHAR* argv[]) {
- const int buf_len = 50;
- Buffer buf1(buf_len);
- //С помощью цикла заполним буфер
- for (int i=0; i<buf_len; i++) {
- buf1.add(i);
- }
- //Выведем весь буфер
- buf1.print();
- //Испытаем функцию get()
- std::cout<<"Get: "<<buf1.get();
- std::cout<<"\n";
- system("pause");
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement