Void main ( ). { int ii ; float ee ; char cc

1.

...

Cc(c)

Class A

{ int ii; float ee; char cc;

public: A(int i, float e, char c): ii (7),

ee(ii + i * e),

{ }

};

A a(5, 1.2. ‘ f’); // создается объект с компонентами a.ii =7,

// a.ee = 13, a.cc=’f’

- Параметром конструктора не может быть его собственный класс, но

может быть ссылка на него.

- В классе может быть несколько конструкторов, но только один с

умалчиваемыми значениями параметров.

- Нельзя получить адрес конструктора.

- Если в определении класса нет конструктора, то компилятор автоматически предоставляет конструктор по умолчанию, который и создает неинициированный объект

<Имя класса> < имя объекта>;

Если есть хоть один конструктор с параметрами (но без значений по- умолчанию), для того чтобы иметь возможность создать неинициированный объект надо объявить в теле класса конструктор по умолчанию:

<Имя класса> () { };

тогда используя конструкцию

<Имя класса> < имя объекта>;

можно объявить неинициированный объект.

Примеры:

… сlass Book {

public:

char title[40];

char author[20];

float price;

Book (char*atitle, char*aauthor, float aprice); // прототип

// конструктора

~Book(); // прототип деструктора

void show_book(void) { cout<<’\n’<< title<< “, “<<price;}

};

Book::Book(char*atitle, char*aauthor, float aprice)

{ strcpy(title, atitle); strcpy(author, aauthor);

price = aprice; }

Book::~Book()

{ cout <<’\n’<< “Уничтожение экземпляра:”<< title;}

{ Book tip1 (“Turbo Pascal”, “B.B.Фаронов”, 60.0);

Book tip2(“Язык С++”, “В.В.Подбельский”,62.0);

Tip1.show_book();

Tip2.show_book();

}

 
 



Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: