Дайте определение метода класса. Опишите способ описания методов вне класса. Приведите пример.
Методы — это функции, которые могут выполнять какие-либо действия над данными класса. Чтобы написать метод вне класса надо в классе написать его прототип.
class prim{
public:
double a, b, c;
void show();
}
void main(){
system (“pause”)
}
void show(){ double d;
cout<<d<<endl;
}
Дайте определение перегрузки операторов. Приведите пример перегруженной операторной функции.
Перегрузка операторов позволяет определить действия, которые будет выполнять оператор. Перегрузка подразумевает создание функции, название которой содержит слово operator и символ перегружаемого оператора. Функция оператора может быть определена как член класса, либо вне класса.
Перегрузить можно только те операторы, которые уже определены в C++. Создать новые операторы нельзя.
Counter operator + (Counter c1, Counter c2)
{
return Counter(c1.seconds + c2.seconds);
}
Дайте определение массива объектов. Опишите способ динамического создания массива объектов. Приведите пример.
Массивы объектов создаются и используются точно так же, как и массивы элементов базовых типов, только в качестве типа элементов массива указывается имя соответствующего класса.
Для динамического выделения памяти под объекты класса используется оператор new. Сначала объявляется указатель на объект соответствующего класса, после чего в формате указатель=new класс соответствующей командой под объект выделяется место в памяти и адрес передается указателю. Если при создании объекта конструктору (конструкторам посвящена глава 9) необходимо передать аргументы, они указываются в круглых скобках после имени класса. Для удаления объекта из памяти используется команда delete указатель, где указатель является указателем на удаляемый объект.
|
|
class MyClass{
public:
double x;
void show(){
cout«"x = "<<x<<endl;
}
MyClass(double z){
x=z;
cout<<"Object with x = "<<x<<" has been created!\n";}
MyClass(){
x=0;
cout<<"Object with x = n<<x<<" has been created!\n";}
MyClass() {
cout<<"Object with x = "<<x<<" has been deleted!\n";}
};
int main(){
MyClass *p;
p=new MyClass;
p->show ();
delete p;
p=new MyClass(1);
p->show();
delete p;
return 0;}
Дата добавления: 2019-02-22; просмотров: 452; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!