Что такое findslide.org?

FindSlide.org - это сайт презентаций, докладов, шаблонов в формате PowerPoint.


Для правообладателей

Обратная связь

Email: Нажмите что бы посмотреть 

Яндекс.Метрика

Презентация на тему Множественное наследование

Содержание

13.1. Множественное наследование B1DB2B1B2B1B2DИерархия классовСостояние классов
13. Множественное наследование 13.1. Множественное наследование  	B1DB2B1B2B1B2DИерархия классовСостояние классов 13.1. Множественное наследование (продолжение) class B1 { . . . }; class 13.2. Конструкторы и деструктор классаКонструктор производного класса:D::D( . . . ) : 13.3. Методы класса  class B1 {. . .	public:	void f1( . . 13.3. Методы класса (продолжение) class D: public B1, public B2 { 13.3. Методы класса (продолжение)void D::g( . . . ){	f1( . . . 13.4. Указатели на классы  B1 *p1;B2 *p2;. . . p1 = 13.5. Сложная иерархия классов  D1DD2BBBD1BD2DИерархия классовСостояние класса 13.5. Сложная иерархия классов (продолжение)class B {private:	int x[10];public:	. . .}; 13.5. Сложная иерархия классов (продолжение)class D1: public B {private:	int y, w[3];public:	. . 13.5. Сложная иерархия классов (продолжение)class D12: public D1, public D2 {private:	int z;public:	D12(…): 13.5. Сложная иерархия классов (продолжение)int main(){	B a;	cout 13.5. Сложная иерархия классов (продолжение)	D1 a1;	cout 13.5. Сложная иерархия классов (продолжение)	D2 a2;	cout 13.5. Сложная иерархия классов (продолжение)	D12 a12;	cout 13.6. Виртуальный базовый класс  D1DD2BBD1’D2’DИерархия классовСостояние класса 13.6. Виртуальный базовый класс  (продолжение)class B {private:	int x[10];public:	. . .}; 13.6. Виртуальный базовый класс  (продолжение)class D1: virtual public B {private:	int y, 13.6. Виртуальный базовый класс  (продолжение)class D12: public D1, public D2 {private:	int 13.6. Виртуальный базовый класс  (продолжение)int main(){	B a;	cout 13.6. Виртуальный базовый класс  (продолжение)	D1 a1;	cout 13.6. Виртуальный базовый класс  (продолжение)	D2 a2;	cout 13.6. Виртуальный базовый класс  (продолжение)	D12 a12;	cout
Слайды презентации

Слайд 2 13.1. Множественное наследование

B1
D
B2
B1
B2
B1
B2
D
Иерархия классов
Состояние классов

13.1. Множественное наследование 	B1DB2B1B2B1B2DИерархия классовСостояние классов

Слайд 3 13.1. Множественное наследование (продолжение)
class B1 { . .

13.1. Множественное наследование (продолжение) class B1 { . . . };

. };
class B2 { . . . };

class D: public B1, public B2 { . . . };

Важно:
class D: public B1, B2 { . . . };
эквивалентно
class D: public B1, private B2 { . . . };

Слайд 4 13.2. Конструкторы и деструктор класса
Конструктор производного класса:
D::D( .

13.2. Конструкторы и деструктор классаКонструктор производного класса:D::D( . . . )

. . ) : B1( . . . ),

B2( . . . ) { . . . }
Порядок вызова конструкторов базовых
классов

Деструктор производного класса
D:: ~D() { . . . }
Вызов деструкторов базовых классов

Слайд 5 13.3. Методы класса
class B1 {
. . .
public:
void

13.3. Методы класса class B1 {. . .	public:	void f1( . .

f1( . . . );
void f( . . .

);
. . .
};

class B2 {
. . .
public:
void f2( . . . );
void f( . . . );
. . .
};


Слайд 6 13.3. Методы класса (продолжение)
class D: public B1, public

13.3. Методы класса (продолжение) class D: public B1, public B2 {

B2 {
. . .
public:
void g(

. . . );
void f( . . . );
. . .
};

Слайд 7 13.3. Методы класса (продолжение)
void D::g( . . . )
{
f1(

13.3. Методы класса (продолжение)void D::g( . . . ){	f1( . .

. . . );
f2( . . . );
}
void D::f(

. . . )
{
B1::f( . . . );
B2::f( . . . );
}

D ob;

ob.g( . . . );
ob.f( . . . );
ob.f1( . . . );
ob.f2( . . . );

ob.B1::f( . . . );
ob.B2::f( . . . );


Слайд 8 13.4. Указатели на классы
B1 *p1;
B2 *p2;
. .

13.4. Указатели на классы B1 *p1;B2 *p2;. . . p1 =

.
p1 = new D( . . . );

p2 = new D( . . . );

p1->f1( . . . );
p2->f2( . . . );
p1->f( . . . ); p2->f( . . . );

Слайд 9 13.5. Сложная иерархия классов

D1
D
D2
B
B
B
D1
B
D2
D
Иерархия классов
Состояние класса

13.5. Сложная иерархия классов  D1DD2BBBD1BD2DИерархия классовСостояние класса

Слайд 10 13.5. Сложная иерархия классов (продолжение)
class B {
private:
int x[10];
public:
. .

13.5. Сложная иерархия классов (продолжение)class B {private:	int x[10];public:	. . .};

.
};


Слайд 11 13.5. Сложная иерархия классов (продолжение)
class D1: public B {
private:
int

13.5. Сложная иерархия классов (продолжение)class D1: public B {private:	int y, w[3];public:	.

y, w[3];
public:
. . .
};

class D2: public B {
private:
int y;
public:
.

. .
};

Слайд 12 13.5. Сложная иерархия классов (продолжение)
class D12: public D1, public

13.5. Сложная иерархия классов (продолжение)class D12: public D1, public D2 {private:	int

D2 {
private:
int z;
public:
D12(…): D1(…), D2(…) { … }
. .

.
};


Слайд 13 13.5. Сложная иерархия классов (продолжение)
int main()
{
B a;
cout

13.5. Сложная иерархия классов (продолжение)int main(){	B a;	cout

= "


Слайд 14 13.5. Сложная иерархия классов (продолжение)
D1 a1;
cout

13.5. Сложная иерархия классов (продолжение)	D1 a1;	cout

"


Слайд 15 13.5. Сложная иерархия классов (продолжение)
D2 a2;
cout

13.5. Сложная иерархия классов (продолжение)	D2 a2;	cout

"


Слайд 16 13.5. Сложная иерархия классов (продолжение)
D12 a12;
cout

13.5. Сложная иерархия классов (продолжение)	D12 a12;	cout

"


Слайд 17 13.6. Виртуальный базовый класс

D1
D
D2
B
B
D1’
D2’
D
Иерархия классов
Состояние класса

13.6. Виртуальный базовый класс  D1DD2BBD1’D2’DИерархия классовСостояние класса

Слайд 18 13.6. Виртуальный базовый класс (продолжение)
class B {
private:
int x[10];
public:
.

13.6. Виртуальный базовый класс (продолжение)class B {private:	int x[10];public:	. . .};

. .
};


Слайд 19 13.6. Виртуальный базовый класс (продолжение)
class D1:
virtual public

13.6. Виртуальный базовый класс (продолжение)class D1: virtual public B {private:	int y,

B {
private:
int y, w[3];
public:
. . .
};

class D2:
virtual public

B {
private:
int y;
public:
. . .
};

Слайд 20 13.6. Виртуальный базовый класс (продолжение)
class D12: public D1,

13.6. Виртуальный базовый класс (продолжение)class D12: public D1, public D2 {private:	int

public D2 {
private:
int z;
public:
D12(…): D1(…), D2(…)

{ … }
. . .
};


, B(…)


Слайд 21 13.6. Виртуальный базовый класс (продолжение)
int main()
{
B a;
cout

13.6. Виртуальный базовый класс (продолжение)int main(){	B a;	cout

"sizeof(a) = "


Слайд 22 13.6. Виртуальный базовый класс (продолжение)
D1 a1;
cout

13.6. Виртуальный базовый класс (продолжение)	D1 a1;	cout

= "


Слайд 23 13.6. Виртуальный базовый класс (продолжение)
D2 a2;
cout

13.6. Виртуальный базовый класс (продолжение)	D2 a2;	cout

= "


  • Имя файла: mnozhestvennoe-nasledovanie.pptx
  • Количество просмотров: 141
  • Количество скачиваний: 0