Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | ||
|
{ book a1 ("Хождение по мукам",34.5);
cout<<a1.name;
}
#include <iostream.h>
#include <string.h>
struct goods {
char name [40];
Float price;
goods (char* newn, float newpr)
{
// name=newn - ошибка (lvalue required)
strcpy(name,newn); price=newpr;};
};
Void main()
{ goods b1 ("Шляпа",12.5);
cout<<b1.name;
}
Итак, конструктор автоматически вызывается при создании объекта, при этом объект инициализируется с помощью фактических параметров передаваемых в тело конструктора.
Заключение:
Экземпляры класса в программе могут создаваться статически и динамически.
1) Определение статического экземпляра класса:
<имя класса> <имя объекта> (параметры конструктора);
Пустой список параметров не допустим, если в классе конструктор с параметрами
2) Определение массива статических экземпляров класса:
<имя класса> <имя массива> [размер массива] =
{ <имя класса>(параметры конструктора для 0-го экземпляра), …,
<имя класса> (параметры конструктора для последнего экземпляра)
};
3) Определение динамического экземпляра класса:
<имя класса> * <имя указателя на объект> = new <имя класса> (параметры конструктора);
4) Определение массива динамических экземпляров класса:
А)
<имя класса> * <имя массива указателей на объекты> [разм. массива] = { new <имя класса> (параметры конструктора для 0-го экземпляра), …, new<имя класса>(параметры конструктора для последнего экземпляра) };
Б)
cin>>n; // количество экземпляров
<имя класса>**<имя двойного указателя> = new <имя класса>*[n];
for(int i=0; i<n; i++)
<имя двойного указателя>[i] =new <имя класса> (параметры
Дата публикования: 2014-11-28; Прочитано: 306 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!