Программирование на С++. Рейзлин В.И. - 7 стр.

UptoLike

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

8
Существуют два способа инициализации данных объекта с
помощью конструктора. Ранее мы рассматривали первый способ, а имен-
но, передача значений параметров в тело конструктора. Второй способ
предусматривает применение списка инициализаторов данного класса.
Этот список помеща-
ется между списком параметров и телом конструктора. Каждый иници-
ализатор списка относится к конкретному компоненту и имеет вид:
имя_данного (выражение)
Примеры.
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 два конструктора перегружаемые функции.