LibKing » Книги » comp-programming » Джесс Либерти - Освой самостоятельно С++ за 21 день.

Джесс Либерти - Освой самостоятельно С++ за 21 день.

Тут можно читать онлайн Джесс Либерти - Освой самостоятельно С++ за 21 день. - бесплатно полную версию книги (целиком). Жанр: comp-programming. Здесь Вы можете читать полную версию (весь текст) онлайн без регистрации и SMS на сайте LibKing.Ru (ЛибКинг) или прочесть краткое содержание, предисловие (аннотацию), описание и ознакомиться с отзывами (комментариями) о произведении.
Джесс Либерти - Освой самостоятельно С++ за 21 день.
  • Название:
    Освой самостоятельно С++ за 21 день.
  • Автор:
  • Жанр:
  • Издательство:
    неизвестно
  • Год:
    неизвестен
  • ISBN:
    нет данных
  • Рейтинг:
    4.11/5. Голосов: 91
  • Избранное:
    Добавить в избранное
  • Ваша оценка:

Джесс Либерти - Освой самостоятельно С++ за 21 день. краткое содержание

Освой самостоятельно С++ за 21 день. - описание и краткое содержание, автор Джесс Либерти, читайте бесплатно онлайн на сайте электронной библиотеки LibKing.Ru

В книге широко представлены возможности новейшей версии программного продукта Microsoft Visual C++. Подробно описаны средства и подходы программирования современных профессиональных приложений. Материалы книги дополнены многочисленными демонстрационными программами, в процессе разработки которых максимально используются возможности программных инструментов Microsoft Visual Studio. Особое внимание уделено новинкам версии 6.0 и новейшим технологиям объектно-ориентированного программирования, включая использование библиотеки MFC и шаблонов классов, а также создание связанных списков. Отдельное занятие посвящено вопросам объектно-ориентированного анализа и проектирования приложений. Подробно рассмотрены все средства и подходы конструирования собственных пользовательских классов.

Книга рассчитана на широкий круг читателей, интересующихся современными проблемами программирования.

Освой самостоятельно С++ за 21 день. - читать онлайн бесплатно полную версию (весь текст целиком)

Освой самостоятельно С++ за 21 день. - читать книгу онлайн бесплатно, автор Джесс Либерти
Тёмная тема

Шрифт:

Сбросить

Интервал:

Закладка:

Сделать

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

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

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

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;

75:

76: myClass obj3;

77: PMF=myClass::ShowMember;

78: (obj3. *PMF)();

79: PMF=myClass::ShowSecond;

80: (obj3.*PMF)();

81: PMF=royClass::ShowThird;

82: (obj3.*PMF)();

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

84: return 0;

85: }

День 15

Контрольные вопросы

1. Как объявить класс, являющийся частным проявлением другого класса?

С помощью открытого наследования.

2. Как объявить класс, объекты которого должны использоваться в качестве переменных-членов другого класса?

Необходимо использовать вложение классов.

3. В чем состоят различия между вложением и делегированием?

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

4. В чем состоят различия между делегированием и выполнением класса в пределах другого класса?

Под делегированием понимают передачу одним классом другому классу выполнения некоторых специфических функций. Под реализацией в пределах другого класса — наследование выполнения специфических функций от другого класса.

5. Что такое функция-друг?

Это функция, объявленная с целью получения доступа к защищенным и закрытым членам другого класса.

Читать дальше
Тёмная тема

Шрифт:

Сбросить

Интервал:

Закладка:

Сделать


Джесс Либерти читать все книги автора по порядку

Джесс Либерти - все книги автора в одном месте читать по порядку полные версии на сайте онлайн библиотеки LibKing.




Освой самостоятельно С++ за 21 день. отзывы


Отзывы читателей о книге Освой самостоятельно С++ за 21 день., автор: Джесс Либерти. Читайте комментарии и мнения людей о произведении.


Понравилась книга? Поделитесь впечатлениями - оставьте Ваш отзыв или расскажите друзьям

Напишите свой комментарий
Большинство книг на сайте опубликовано легально на правах партнёрской программы ЛитРес. Если Ваша книга была опубликована с нарушениями авторских прав, пожалуйста, направьте Вашу жалобу на PGEgaHJlZj0ibWFpbHRvOmFidXNlQGxpYmtpbmcucnUiIHJlbD0ibm9mb2xsb3ciPmFidXNlQGxpYmtpbmcucnU8L2E+ или заполните форму обратной связи.
img img img img img