.


:




:

































 

 

 

 





, , - . , - , .

, , (, ..) . , , .

, , , - . - .

, , .

, ( , ) . :

void fun (int) base dir.

dir fun (), base, , : base::fun(). dir ( ) , dir, fun() .

, base dir, fun() :

//

#include "stdafx.h"

#include <iostream>

using namespace std;

struct base {

void fun(int i) { cout << "\nbase::i = " << i; }

};

struct dir: public base{

void fun (int i){ cout << "\ndir::i - " << i; }

};

void print_(base* pb){pb->fun(1);}

 

void main (void){

base B, *bp=&B;

dir D, *dp = &D;

base *pbd = &D;

bp->fun(1); // : base::i = 1

dp->fun(5); // : dir::i = 5

pbd->fun(4); // : base::i = 4

print_(&B); // : base::i = 1

print_(&D); // : base::i = 1

}

 

:

base::i = 1 dir::i = 5 base::i = 4

. pbd. ( D) (base *). , ++. , .. , ( ). base dir b dp . pbd->fun() . pbd base*, - D dir.

base::fun() dir::fun() pbd->fun()? , . ++, .. ( ) , . "" , .

figure. void show (). , void show() . base dir , show () :

__:: show ()

:





:


: 2018-10-15; !; : 254 |


:

:

: , .
==> ...

2019 - | 1642 -


© 2015-2024 lektsii.org - -

: 0.008 .