Практикум по объектно-ориентированному программированию на базе языка с++ Учебно-методическое пособие



Pdf көрінісі
бет7/44
Дата21.02.2024
өлшемі0.49 Mb.
#492719
түріПрактикум
1   2   3   4   5   6   7   8   9   10   ...   44
ООП С

Массив объектов. Создание массива объектов с вызовом кон-
структора по умолчанию: 
 
Complex mas[10]; 
 
// Создание массива объектов с использованием указателей: 
Complex *pm[3]; 
pm[0] = new Complex
pm[1] = new Complex(1,2); 
pm[2] = new Complex(2,1); 
 
Указатель this хранит адрес того объекта, который вызвал функ-
цию и неявно используется внутри метода для ссылок на элементы объ-
екта. В явном виде этот указатель применяется в основном для возвраще-
ния из метода указателя (return this;) или ссылки (return *this;) на вызван-
ный объект. 
Complex & set_real(double re){real=re; return *this;} 
Задание: Написать класс Fraction, который имеет следующую структуру: 
// fraction.h 
class Fraction 

private: 
int ch; 
 
// числитель неправильной дроби 
int zn; 
 
// знаменатель 


15 
Fraction & shorten(); // функция сокращения дроби
 
pubic: 
Fraction(); // Конструктор без параметров 
 
Fraction(int cel, int ch, int zn); // Конструктор с параметрами 
 
~Fraction(); // Деструктор 
 
// функции доступа 
int get_cel(); // вернуть значение целой части дроби 
 
int get_ch(); // вернуть значение числителя 
 
int get_zn(); // вернуть значение знаменателя 
 
Fraction & set_cel(int cl); // установить новое значение целой части дроби 
 
Fraction & set_chisl(int ch); // установить новое значение числителя 
 
Fraction & set_znам(int); // установить новое значение знаменателя 
// дополнительные функции 
Fraction sum(const Fraction & a)const; // сумма текущей дроби с числом а 
 
Fraction sub(const Fraction & a)const; // разность текущей дроби и числа а 
 
Fraction mul(const Fraction & a)const; // произведение текущей дроби 
// с числом а 
 
Fraction div(const Fraction & a)const; // деления текущей дроби на число a 
// функции сравнения 
 
int more(const Fraction & a)const; // сравнение текущей дроби с a 
// на больше
 
int less(const Fraction & a)const; // сравнение текущей дроби с a 
// на меньше 
 
int equals(const Fraction &)const; // сравнение текущей дроби с a
// на равенство
 
void show(); // показать дробь в формате: 3 5/8; 
}; 


Достарыңызбен бөлісу:
1   2   3   4   5   6   7   8   9   10   ...   44




©dereksiz.org 2024
әкімшілігінің қараңыз

    Басты бет