Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву
Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Динамічне створення об’єктів типу класуСодержание книги
Поиск на нашем сайте Вкладені класи (1) #include <stdio.h>class A//клас A{class B//вкладений у клас A клас B{int b;public:B(int initb):b(initb){};void print();//метод класу B};public://відкриті члени класу AB objb;//поле objb типу BA(B initobjb):objb(initobjb){};void print()//метод класу A{printf("%d\n",objb);}};//визначення методу вкладеного класу Bvoid A::B::print(){printf("%d\n",b);}void main(){A obj(5);//створення об’єкту obj і ініціалізація поля b obj.print();//виклик методу print() класу Aobj.objb.print();//виклик методу print() вкладеного класу B}Вкладені класи (2) #include <stdio.h>class B//клас B{int b;public:B(int initb):b(initb){};};class A//клас A{B objb;//поле objb типу Bpublic:A(B initobjb):objb(initobjb){};void print(){printf("%d\n",objb);}};void main(){A obj(5);//створення об’єкту obj і ініціалізація поля bobj.print();//виклик методу print() класу A}Вкладені класи (3) #include <stdio.h>class B//клас B{int b;//поле b типу intpublic:B(int initb):b(initb){};void print(){printf("%d\n",b);}//метод класу B};class A//клас A{public:B objb;//поле objb типу BA(B initobjb):objb(initobjb){};void print(){printf("%d\n",objb);}//метод класу A};void main(){B obj1(5);//створення об’єкту obj1 і ініціалізація поля bA obj(obj1);//створення об’єкту obj і ініціалізація поля objbobj.print();//виклик методу print() класу Aobj.objb.print();//виклик методу print() класу B}Вкладені класи (4) #include <iostream.h>class B//клас B{int b,c;//поля b і c типу intpublic://метод для ініціалізації закритих полів b і cvoid set(int sb,int sc){b=sb; c=sc;}void print(){cout<<b<<" "<<c<<endl;}};class A//клас A{public:B objb;//поле objb типу BA(int ib, int ic);};A::A(int ib, int ic)//визначення конструктора класу A{objb.set(ib,ic);}void main(){A obj(5,7);//створення об’єкту obj і ініціалізація полів b,c поля objbobj.objb.print();}Вкладені класи (5) #include <iostream.h>class B//клас B{int b,c;//поля b і c типу intpublic:B(int initb,int initc):b(initb),c(initc){};//конструктор класу Bvoid print(){cout<<b<<" "<<c<<endl;}};class A//клас A{public:B objb;//поле objb типу BA(int ib, int ic):objb(ib,ic){};//конструктор класу A};void main(){A obj(5,7);//створення об’єкту obj і ініціалізація полів b,c поля objbobj.objb.print();}Дружні функції (1) #include <iostream.h>class A//клас A{int a,b;//закриті поляpublic:A(int ia, int ib):a(ia),b(ib){};friend int sum(int pa,int pb);//оголошення дружньої функції (не члену класу A)};int sum(int pa, int pb)//визначення дружньої функції{A* obj=new A(pa,pb);int s=obj->a+obj->b;//можливий доступ до закритих полів класу Adelete obj;return s;}void main(){cout<<sum(2,3);//виклик дружньої функції}Дружні функції (2) #include <iostream.h>class A//клас A{int a,b;//закриті поляpublic:A(int ia, int ib):a(ia),b(ib){};friend int sum(A);//оголошення дружньої функції (не члену класу A)};int sum(A pobj)//визначення дружньої функції{return pobj.a+pobj.b;//можливий доступ до закритих полів класу A}void main(){A obj(2,3);//створити об’єкт objcout<<sum(obj);//викликати дружню функцію з аргументом obj}Успадкування #include <iostream.h>class A//базовий клас A{protected://захищені члениint a;//полеpublic://відкриті члениA(int ia):a(ia){};//конструктор};//клас B, він успадковує клас Aclass B:public A{//закриті члениint b;//полеpublic://відкриті члениB(int ia, int ib):A(ia),b(ib){};//конструкторint sum(){return a+b;}//метод};void main(){B obj(2,3);//створити об’єкт obj класу B, ініціалізувати a=2,b=3cout<<obj.sum();}
|
||
|
Последнее изменение этой страницы: 2017-01-24; просмотров: 375; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 216.73.216.198 (0.006 с.) |