Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Наследование



В объектно- ориентированном программировании на основе уже существующих классов можно строить производные классы. Наследование означает, что производный класс, который называется классом потомком наследует элементы – переменные и элементы-функции от своих родительских классов, то есть классов – предков. При создании производного класса родительский класс может совершенствоваться добавлением новых свойств и новых функций.

Основная форма наследования:

class имя_класса_потомка: режим доступа имя_класса_предка{новые объекты};

режим доступа – это одно из ключевых слов public, private или protected

Например, если режимом доступа будет public, то это означает, что все элементы типа public класса - предка будут таковыми и для класса наследующего его.

Пример:


#include<iostream.h>

#include<math.h>

class komplex

{

public:

float a,b,a1,b1,otva,otvb; char sign;

void input(void)

{

cout<<"\nBвeдитe кoэф. A пepвoгo чиcлa "; cin>>a;

cout<<"Bвeдитe кoэф. B пepвoгo чиcлa "; cin>>b;

cout<<"Bвeдитe кoэф. A втopoгo чиcлa "; cin>>a1;

cout<<"Bвeдитe кoэф. B втopoгo чиcлa "; cin>>b1;

cout<<"Bвeдитe знaк oпepaции "; cin>>sign;

sw();

}

void vivod(void)

{

if(otvb>0)sign='+'; else sign=' ';

cout<<otva<<sign<<otvb<<'i';

}

void plus_m(void)

{

if(sign=='-')

{

a1=a1*(-1); b1=b1*(-1);

cout<<"Paзнocть двyx кoмплeкcныx чиceл paвнa ";

}else

cout<<"Cyммa двyx кoмплeкcныx чиceл paвнa ";

otva=a+a1; otvb=b+b1;

vivod();

}

ch()

{

otva=a*a1-b*b1; otvb=a*b1+b*a1;

if(sign=='*') cout<<"Пpoизвeдeниe двyx кoмплeкcныx чиceл paвнo ";

else

{

otva=(a*a1+b*b1)/(pow(a1,2)+pow(b1,2));

otvb=(a1*b-a*b1)/(pow(a1,2)+pow(b1,2));

cout<<"Чacтнoe двyx кoмплeкcныx чиceл paвнo ";

}

vivod();

}

void sw(void)

{

switch (sign)

{

case '+':

case '-':plus_m();break;

case '*':

case '/':ch();break;

}

}

};

//Наследование (класс first – потомок класса komplex)

class first: public komplex

{

};

// В данном случае класс first не приобретает новых функций,

// а целиком наследует класс komplex

main()

{

first f;

f.input();

}





Дата публикования: 2014-12-08; Прочитано: 214 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.005 с)...