Объектно-ориентированное программирование на языке С++. Ноткин А.М. - 8 стр.

UptoLike

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

9
ется между списком параметров и телом конструктора. Каждый иници-
ализатор списка относится к конкретному компоненту и имеет вид:
имя_данного (выражение)
Примеры.
class CLASS_A
{
int i; float e; char c;
public:
CLASS_A(int ii,float ee,char cc) : i(8),e( i * ee + ii ),с(сс){}
. . .
};
Класссимвольная строка”.
#include <string.h>
#include <iostream.h>
class string
{
char *ch; // указатель на текстовую строку
int len; // длина текстовой строки
public:
// конструкторы
// создает объектпустая строка
string(int N = 80): len(0){ch = new char[N+1]; ch[0] = ‘\0’;}
// создает объект по заданной строке
string(const char *arch){len = strlen(arch);
ch = new char[len+1];
strcpy(ch,arch);}
// компоненты-функции
// возвращает ссылку на длину строки
int& len_str(void){return len;}
// возвращает указатель на строку
char *str(void){return ch;}
. . .};
Здесь у класса string два конструктораперегружаемые
функции.
По умолчанию создается также конструктор копирования вида
T::T(const T&), где Тимя класса. Конструктор копирования вызывается
всякий раз, когда выполняется копирование объектов, принадлежащих
классу. В частности он вызывается:
                                        9

ется между списком параметров и телом конструктора. Каждый иници-
ализатор списка относится к конкретному компоненту и имеет вид:
      имя_данного (выражение)

     Примеры.
     class CLASS_A
     {
       int i; float e; char c;
     public:
       CLASS_A(int ii,float ee,char cc) : i(8),e( i * ee + ii ),с(сс){}
     ...
     };
     Класс “символьная строка”.
     #include 
     #include 
     class string
     {
       char *ch; // указатель на текстовую строку
       int len;     // длина текстовой строки
     public:
       // конструкторы
       // создает объект – пустая строка
       string(int N = 80): len(0){ch = new char[N+1]; ch[0] = ‘\0’;}
       // создает объект по заданной строке
       string(const char *arch){len = strlen(arch);
           ch = new char[len+1];
           strcpy(ch,arch);}
       // компоненты-функции
       // возвращает ссылку на длину строки
       int& len_str(void){return len;}
       // возвращает указатель на строку
       char *str(void){return ch;}
     . . .};

      Здесь у класса string два конструктора – перегружаемые функции.
      По умолчанию создается также конструктор копирования вида
T::T(const T&), где Т – имя класса. Конструктор копирования вызывается
всякий раз, когда выполняется копирование объектов, принадлежащих
классу. В частности он вызывается: