Основы языка программирования C++ с применением объектно-ориентированного программирования. Чернышов М.К. - 49 стр.

UptoLike

Составители: 

Ɉɩɪɟɞɟɥɟɧɢɹ ɦɟɬɨɞɨɜ ɩɪɢɜɟɞɟɧɵ ɜ ɮɚɣɥɟ TBASEARR.CPP:
#include <iostream.h>
#include <stdlib.h>
#include <constrea.h>
#include <tbasearr.h>
/* Ɇɟɬɨɞɵ ɤɥɚɫɫɚ TBase */
TBase::TBase(int s, int m, int d):size(s), maxCount(m),
delta(d)
{
char* p;
int k;
count = 0; p=pmem=new char[size*maxCount];
for(k=0; k < maxCount; k++)
{*p='\0'; p++;}
}
TBase::TBase():size(1),maxCount(10),delta(1)
{
char* p;
int k;
count=0; p=pmem=new char[size*maxCount];
for(k=0; k<maxCount; k++)
{*p ='\0'; p++;}
}
TBase::TBase(TBase &b):size(b.size), maxCount(b.maxCount),
delta(b.delta)
{
int k;
count=b.count; pmem=new char[size*maxCount];
for(k=0; k<maxCount*size; k++)
{
pmem[k]=b.pmem[k];
}
}
TBase::~TBase()
{
delete [] pmem;
}
4.5. ȼɢɪɬɭɚɥɶɧɵɟ ɮɭɧɤɰɢɢ
4.5.1. ɉɨɧɹɬɢɟ ɨɩɨɡɞɧɟɦɫɜɹɡɵɜɚɧɢɢ
ɉɪɢ ɨɩɢɫɚɧɢɢ ɨɛɴɟɤɬɧɵɯ ɬɢɩɨɜ ɮɭɧɤɰɢɢ ɢɦɟɸɳɢɟ ɫɯɨɞɧɨɟ ɧɚɡɧɚɱɟ-
ɧɢɟ ɜ ɪɚɡɧɵɯ ɤɥɚɫɫɚɯ ɦɨɝɭɬ ɢɦɟɬɶ ɨɞɢɧɚɤɨɜɵɟ ɢɦɟɧɚ, ɬɢɩɵ ɩɚɪɚɦɟɬɪɨɜ ɢ
ɜɨɡɜɪɚɳɚɟɦɨɝɨ ɡɧɚɱɟɧɢɹ. ɉɪɢ ɨɛɪɚɳɟɧɢɢ ɤ ɬɚɤɨɣ ɮɭɧɤɰɢɢ ɫ ɭɤɚɡɚɧɢɟɦ
ɢɦɟɧɢ ɨɛɴɟɤɬɚ ɤɨɦɩɢɥɹɬɨɪɭ ɢɡɜɟɫɬɧɨ, ɤɚɤɚɹ ɢɡ ɨɞɧɨɢɦɟɧɧɵɯ ɮɭɧɤɰɢɣ
ɬɪɟɛɭɟɬɫɹ. ȼ ɬɨ ɠɟ ɜɪɟɦɹ ɤ ɨɛɴɟɤɬɚɦ ɩɪɨɢɡɜɨɞɧɨɝɨ ɬɢɩɚ ɦɨɠɧɨ ɨɛɪɚɳɚɬɶɫɹ
ɩɨ ɭɤɚɡɚɬɟɥɸ ɧɚ ɛɚɡɨɜɵɣ ɬɢɩ ɢ ɬɨɝɞɚ ɧɚ ɷɬɚɩɟ ɤɨɦɩɢɥɹɰɢɢ ɧɟɥɶɡɹ ɭɫɬɚɧɨ-
ɜɢɬɶ, ɮɭɧɤɰɢɹ ɤɚɤɨɝɨ ɢɡ ɩɪɨɢɡɜɨɞɧɵɯ ɬɢɩɨɜ ɞɨɥɠɧɚ ɛɵɬɶ ɜɵɡɜɚɧɚ. ȼ ɯɨɞɟ
49
    Ɉɩɪɟɞɟɥɟɧɢɹ ɦɟɬɨɞɨɜ ɩɪɢɜɟɞɟɧɵ ɜ ɮɚɣɥɟ TBASEARR.CPP:
     #include 
     #include 
     #include 
     #include 
     /* Ɇɟɬɨɞɵ ɤɥɚɫɫɚ TBase */
     TBase::TBase(int s, int m, int d):size(s), maxCount(m),
                  delta(d)
        {
        char* p;
        int k;
        count = 0; p=pmem=new char[size*maxCount];
        for(k=0; k < maxCount; k++)
           {*p='\0'; p++;}
        }
     TBase::TBase():size(1),maxCount(10),delta(1)
        {
        char* p;
        int k;
        count=0; p=pmem=new char[size*maxCount];
        for(k=0; k