ВУЗ:
Составители:
Рубрика:
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&), где Т – имя класса. Конструктор копирования вызывается всякий раз, когда выполняется копирование объектов, принадлежащих классу. В частности он вызывается:
Страницы
- « первая
- ‹ предыдущая
- …
- 6
- 7
- 8
- 9
- 10
- …
- следующая ›
- последняя »