Π§ΠΈΡ‚Π°ΠΉΡ‚Π΅ ΠΊΠ½ΠΈΠ³ΠΈ ΠΎΠ½Π»Π°ΠΉΠ½ Π½Π° Bookidrom.ru! БСсплатныС ΠΊΠ½ΠΈΠ³ΠΈ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠ»ΠΈΠΊΠ΅

Π§ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎΠ½Π»Π°ΠΉΠ½ «Освой ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ Π‘++ Π·Π° 21 дСнь.Β». Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° 164

Автор ДТСсс Π›ΠΈΠ±Π΅Ρ€Ρ‚ΠΈ

 Π£ΠΏΡ€Π°ΠΆΠ½Π΅Π½ΠΈΡ

1. ΠžΠΏΠΈΡˆΠΈΡ‚Π΅ класс JetPlane (Π Π΅Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΉ самолСт), наслСдуя Π΅Π³ΠΎ ΠΎΡ‚ Π΄Π²ΡƒΡ… Π±Π°Π·ΠΎΠ²Ρ‹Ρ… классов β€” Rocket (Π Π°ΠΊΠ΅Ρ‚Π°) ΠΈ Airplane (Π‘Π°ΠΌΠΎΠ»Π΅Ρ‚).

class JetPlane : public Rocket, public Airplane

2. ΠŸΡ€ΠΎΠΈΠ·Π²Π΅Π΄ΠΈΡ‚Π΅ ΠΎΡ‚ класса JetPlane, объявлСнного Π² ΠΏΠ΅Ρ€Π²ΠΎΠΌ ΡƒΠΏΡ€Π°ΠΆΠ½Π΅Π½ΠΈΠΈ, Π½ΠΎΠ²Ρ‹ΠΉ класс 747.

class 747 : public JetPlane

3. ΠΠ°ΠΏΠΈΡˆΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡ‰ΡƒΡŽ классы Π‘Π°Π³ (Π›Π΅Π³ΠΊΠΎΠ²ΠΎΠΉ Π°Π²Ρ‚ΠΎΠΌΠΎΠ±ΠΈΠ»ΡŒ) ΠΈ Bus (Автобус) ΠΎΡ‚ класса Vehicle (Машина). ΠžΠΏΠΈΡˆΠΈΡ‚Π΅ класс Vehicle ΠΊΠ°ΠΊ абстрактный Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ… с двумя чистыми Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ функциями. ΠšΠ»Π°ΡΡΡ‹ Π‘Π°Π³ ΠΈ Bus Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ абстрактными.

class Vehicle

{

   virtual void Move() = 0;

   virtual void Haul() = 0;

};

class Car : public Vehicle

{

   virtual void Move();

   virtual void Haul();

}:

class Bus : public Vehicle

{

   virtual void Move();

   virtual void Haul();

};

4. Π˜Π·ΠΌΠ΅Π½ΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ ΠΈΠ· ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅Π³ΠΎ упраТнСния Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ класс Π‘Π°r Ρ‚ΠΎΠΆΠ΅ стал ADT, ΠΈ ΠΏΡ€ΠΎΠΈΠ·Π²Π΅Π΄ΠΈΡ‚Π΅ ΠΎΡ‚ Π½Π΅Π³ΠΎ Ρ‚Ρ€ΠΈ Π½ΠΎΠ²Ρ‹Ρ… класса: SportsCar (Π‘ΠΏΠΎΡ€Ρ‚ΠΈΠ²Π½Ρ‹ΠΉ Π°Π²Ρ‚ΠΎΠΌΠΎΠ±ΠΈΠ»ΡŒ), Wagon (Π€ΡƒΡ€Π³ΠΎΠ½) ΠΈ Coupe (ДвухмСстный Π°Π²Ρ‚ΠΎΠΌΠΎΠ±ΠΈΠ»ΡŒ-ΠΊΡƒΠΏΠ΅). Π’ классС Π‘Π°r Π΄ΠΎΠ»ΠΆΠ½Π° Π·Π°ΠΌΠ΅Ρ‰Π°Ρ‚ΡŒΡΡ ΠΎΠ΄Π½Π° ΠΈΠ· Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, ΠΎΠ±ΡŠΡΠ²Π»Π΅Π½Π½Ρ‹Ρ… Π² классС Vehicle, с Π²Ρ‹Π·ΠΎΠ²ΠΎΠΌ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ класса.

class Vehicle

{

   virtual void Move() = 0;

   virtual void Haul() = 0;

};

class Car : public Vehicle

{

   virtual void Move():

};

class Bus : public Vehicle

{

   virtual void Move();

   virtual void Haul();

}

class SportsCar : public Car

{

   virtual void Haul();

}

class Coupe : public Car

{

   virtual void Haul();

}

Π”Π΅Π½ΡŒ 14

ΠšΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Ρ‹Π΅ вопросы 

1. ΠœΠΎΠ³ΡƒΡ‚ Π»ΠΈ статичСскиС ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅-Ρ‡Π»Π΅Π½Ρ‹ Π±Ρ‹Ρ‚ΡŒ Π·Π°ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌΠΈ?

Π”Π°. ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΎΠ½ΠΈ ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌΠΈ-Ρ‡Π»Π΅Π½Π°ΠΌΠΈ, Ρ‚ΠΎ доступ ΠΊ Π½ΠΈΠΌ ΠΌΠΎΠΆΠ΅Ρ‚ ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒΡΡ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎ доступу ΠΊ Π»ΡŽΠ±Ρ‹ΠΌ Π΄Ρ€ΡƒΠ³ΠΈΠΌ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌ-Ρ‡Π»Π΅Π½Π°ΠΌ. Если статичСская пСрСмСнная-Ρ‡Π»Π΅Π½ объявлСна ΠΊΠ°ΠΊ закрытая, Ρ‚ΠΎ доступ ΠΊ Π½Π΅ΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ с помошью ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎΠ³ΠΎ статичСского ΠΌΠ΅Ρ‚ΠΎΠ΄Π° класса.

2. ΠžΠ±ΡŠΡΠ²ΠΈΡ‚Π΅ ΡΡ‚Π°Ρ‚ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ-Ρ‡Π»Π΅Π½.

static int itsStatic;

3. ΠžΠ±ΡŠΡΠ²ΠΈΡ‚Π΅ ΡΡ‚Π°Ρ‚ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ.

static int SomeFunction();

4. ΠžΠ±ΡŠΡΠ²ΠΈΡ‚Π΅ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ Π½Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ, ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°ΡŽΡ‰ΡƒΡŽ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ Ρ‚ΠΈΠΏΠ° int ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°ΡŽΡ‰ΡƒΡŽ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ‚ΠΈΠΏΠ° long.

long (*function)(int);

5. Π˜Π·ΠΌΠ΅Π½ΠΈΡ‚Π΅ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ, созданный Π² Π·Π°Π΄Π°Π½ΠΈΠΈ 4, Π½Π° ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ Π½Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ-Ρ‡Π»Π΅Π½ класса Π‘Π°r.

long ( Car::*function)(int);

6. ΠžΠ±ΡŠΡΠ²ΠΈΡ‚Π΅ массив ΠΈΠ· дСсяти ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»Π΅ΠΉ, созданных Π² Π·Π°Π΄Π°Π½ΠΈΠΈ 5.

long ( Car::*function)(int) theArray [10];

 Π£ΠΏΡ€Π°ΠΆΠ½Π΅Π½ΠΈΡ

 1. ΠΠ°ΠΏΠΈΡˆΠΈΡ‚Π΅ ΠΊΠΎΡ€ΠΎΡ‚ΠΊΡƒΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, ΠΎΠ±ΡŠΡΠ²Π»ΡΡŽΡ‰ΡƒΡŽ класс с ΠΎΠ΄Π½ΠΎΠΉ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠΉ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ-Ρ‡Π»Π΅Π½ΠΎΠΌ ΠΈ ΠΎΠ΄Π½ΠΎΠΉ статичСской ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ-Ρ‡Π»Π΅Π½ΠΎΠΌ. Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ конструктор, Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‰ΠΈΠΉ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ-Ρ‡Π»Π΅Π½Π° ΠΈ ΠΏΡ€ΠΈΡ€Π°Ρ‰Π΅Π½ΠΈΠ΅ статичСской ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ-Ρ‡Π»Π΅Π½Π°. Π—Π°Ρ‚Π΅ΠΌ ΠΎΠ±ΡŠΡΠ²ΠΈΡ‚Π΅ дСструктор, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΡƒΠΌΠ΅Π½ΡŒΡˆΠ°Π΅Ρ‚ Π½Π° Π΅Π΄ΠΈΠ½ΠΈΡ†Ρƒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ статичСской ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ.

1: class myClass

2: {

3:    public:

4:       myClass();

5:       ~myClass();

6:    private:

7:       int itsMember;

8:       static int itsStatic;

9: };

10:

11: myClass::myClass():

12: itsMember(1)

13: {

14:    itsStatic++;

15: }

16:

17:myClass::~myClass()

18: {

19:    itsStaticβ€”-;

20: }

21:

22: int myClass::itsStatic = 0;

23:

24: int main()

25: {}

2. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ Π±Π»ΠΎΠΊ ΠΈΠ· упраТнСния 1, Π½Π°ΠΏΠΈΡˆΠΈΡ‚Π΅ ΠΊΠΎΡ€ΠΎΡ‚ΠΊΡƒΡŽ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡƒΡŽ

ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, которая создаСт Ρ‚Ρ€ΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°, Π° Π·Π°Ρ‚Π΅ΠΌ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ значСния ΠΈΡ… ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½-

Π½Ρ‹Ρ…-Ρ‡Π»Π΅Π½ΠΎΠ² ΠΈ статичСской ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ-Ρ‡Π»Π΅Π½Π° класса. Π—Π°Ρ‚Π΅ΠΌ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΡƒΠ΄Π°-

ляйтС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΠΈ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚Π΅ Π½Π° экран Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ статичСской ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ-Ρ‡Π»Π΅Π½Π°.

1: #include <iostream.h>

2:

3: class myClass

4: {

5:    public:

6:       myClass();

7:       ~myClass();

8:       void ShowMember()

9:       void ShowStatic();

10:   private:

11:      int itsMember;

12:      static int itsStatic;

13: };

14:

15: myClass::myClass():

16: itsMember(1)

17: {

18:    itsStatic++;

19: }

20:

21: myClass::~myClass()

22: {

23:    itsStatic--;

24:    cout << "In destructor. ItsStatic: " << itsStatic << endl;

25: }

26:

27: void myClass::ShowMember()

28: {

29:    cout << "itsMember: " << itsMereber << endl;

30: }

31:

32: void myClass::ShowStatic()

33: {

34:    cout << "itsStatic: " << itsStatic << endl;

35: }

36: int myClass::itsStatic = 0;

37:

38: int main()

39: {

40:    myClass obj1;

41:    obj1.ShowMember();

42:    obj1.ShowStatic();

43:

44:    myClass obj2;

45:    obj2.ShowMember();

46:    obj2.ShowStatic();

47:

48:    myClass obj3;

49:    obj3.ShowMember();

50:    obj3.ShowStatic();

51:    return 0;

52: }

3. Π˜Π·ΠΌΠ΅Π½ΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ ΠΈΠ· упраТнСния 2 Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ доступ ΠΊ статичСскойпСрСмСнной-Ρ‡Π»Π΅Π½Ρƒ осущСствлялся с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ статичСской Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ-Ρ‡Π»Π΅Π½Π°. Π‘Π΄Π΅Π»Π°ΠΉΡ‚Π΅ ΡΡ‚Π°Ρ‚ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ-Ρ‡Π»Π΅Π½ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΠΎΠΉ.

1: #include <iostream.h>

2:

3: class myClass

4: {

5:    public:

6:       myClass();

7:       ~myClass();

8:       void ShowMember();

9:       static int GetStatic();

10:   private:

11:      int itsMember;

12:      static int itsStatic;

13: }

14:

15: myClass::myClass():

16: itsMember(l)

17: {

18:    itsStatic++;

19: }

20:

21: myClass::~myClass()

22: {

23:    itsStatic--;

24:    cout << "In destructor. ItsStatic: " << itsStatic << endl;

25: }

26:

27: void myClass::ShowMember()

28: {

29:    cout << "itsMember: " << itsMember << endl;

30: }

31:

32: int myClass::itsStatic = 0;

33:

34: void myClass::GetStatic()

35: {

36:    return itsStatic;

37: }

38:

39: int main()

40: {

41:    myClass obj1:

42:    obj1.ShowMeraber();

43:    cout << "Static: " << myClass::GetStatic() << endl;

44:

45:    myClass obj2;

46:    obj2.ShowMember();

47:    cout << "Static " << myClass::GetStatic() << endl;

48:

49:    myClass obj3;

50:    obj3.ShowMember();

51:    cout << "Static: " << myClass::GetStatic() << endl;

52:    return 0;

53: }

4. Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ ΠΈΠ· упраТнСния 3 ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ Π½Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ-Ρ‡Π»Π΅Π½ для доступа ΠΊ Π·Π½Π°Ρ‡Π΅Π½ΠΈΡŽ нСстатичСской ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ-Ρ‡Π»Π΅Π½Π° ΠΈ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ΡΡŒ ΠΈΠΌ для Π²Ρ‹Π²ΠΎΠ΄Π° этих Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π½Π° ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ.

1: #include ciostream.h>

2:

3: class myClass

4: {

5:    public

6:       myClass();

7:       ~myClass();

8:       void ShowMember();

9:       static int GetStatic();

10:   private:

11:      int itsMember;

12:      static int itsStatic;

13: }

14:

15: myClass::myClass():

16: itsMember(1)

17: {

18:    itsStatic++;

19: }

20:

21: myClass::~myClassO

22: {

23:    itsStatic--;

24:    cout << "In destructor. ItsStatic: " << itsStatic << endl;

25: }

26:

27: void myClass::ShowMember()

28: {

29:    cout << "itsMember: " << itsMember << endl;

30: }

31:

32: int myClass::itsStatic = 0;

33:

34: int myClass::GetStatic()

35: {

36:    return itsStatic;

37: }

38:

39: int main()

40: {

41:    void (myClass::*PMF) ();

42:

43:    PMF=myClass: :ShowMember;

44:

45:    myClass obj1;

46:    (obj1.*PMF)();

47:    cout << "Static: " << myClass::GetStatic() << endl;

48:

49:    myClass obj2:

50:    (obj2.*PMF)();

51:    cout << "Static: " << myClass::GetStatic() << endl;

52:

53:    myClass obj3;

54:    (obj3.*PMF)();

55:    cout << "Static: " << myClass::GetStatic() << endl;

56:    return 0;

57: }

5. Π”ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ Π΄Π²Π΅ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅-Ρ‡Π»Π΅Π½Π° ΠΊ классу ΠΈΠ· ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΡ… ΡƒΠΏΡ€Π°ΠΆ-

Π½Π΅Π½ΠΈΠΉ. Π”ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ доступа, Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°ΡŽΡ‰ΠΈΠ΅ значСния всСх этих ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ….

ВсС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ-Ρ‡Π»Π΅Π½Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Ρ‚ΡŒ значСния ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ° ΠΈ ΠΈΠΌΠ΅Ρ‚ΡŒ ΠΎΠ΄ΠΈ-

Π½Π°ΠΊΠΎΠ²ΡƒΡŽ сигнатуру. Для доступа ΠΊ этим ΠΌΠ΅Ρ‚ΠΎΠ΄Π°ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ Π½Π° Ρ„ΡƒΠ½ΠΊ-

Ρ†ΠΈΡŽ-Ρ‡Π»Π΅Π½.

1: #include<iostream.h>

2:

3: class myClass

4: {

5:    public:

6:       myClass();

7:       ~myClass();

8:       void ShowMember();

9:      void ShowSecond();

10:      void ShowThird();

11:      static int GetStatic();

12:   private:

13:      int itsMember;

14:      int itsSecond;

15:      int itsThird;

16:      static int itsStatic;

17: }

18:

19: myClass::myClass()

20:    itsMember(1),

21:    itsSecond(2),

22:    itsThird(3)

23: {

24:    itsStatic++;

25: }

27: myClass::^rnyClass()

28: {

29:    itsStatic--;

30:    cout << "In destructor. ItsStatic: " << itsStatic << endl;

31: }

32:

33: void myClass::ShowMember()

34: {

35:    cout << "itsMember: " << itsMember << endl;

36: }

37:

38: void myCIass:: ShowSecond()

39: {

40:    cout << "itsSecond: " << itsSecond << endl;

41: }

42:

43: void myClass::ShowThird()

44: {

45:    cout << "itsThird: " << itsThird << endl;

46: }

47: int myClass::itsStatic = 0;

48:

49: int myClass::GetStatic()

50: {

51:    return itsStatic;

52: }

53:

54: int main()

55: {

56:    void (myClass::*PMF) ();

57:

58:    myClass obj1;

59:    PMF=myClass::ShowMember;

60:    (obj1.*PMF)();

61:    PMF=myClass::ShowSecond;

62:    (obj1.*PMF)();

63:    PMF=myClass::ShowThird;

64:    (ob]1 "PMF)();

65:    cout << "Static: " << myClass::GetStatic() << endl;

66:

67:    myClass obj2;

68:    PMF=myClass::ShowMerober;

69:    (obj2.*PMF)();

70:    PMF=myClass::ShowSecond;

71:    (obj2.*PMF)();

72:    PMF=myClass::ShowThird;

73:    (obj2. *PMF)();

74:    cout << "Static: " << myClass::GetStatic() << endl;