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


Авторские права

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

Здесь можно скачать бесплатно "Джесс Либерти - Освой самостоятельно С++ за 21 день." в формате fb2, epub, txt, doc, pdf. Жанр: Программирование. Так же Вы можете читать книгу онлайн без регистрации и SMS на сайте LibFox.Ru (ЛибФокс) или прочесть описание и ознакомиться с отзывами.
Джесс Либерти - Освой самостоятельно С++ за 21 день.
Рейтинг:
Название:
Освой самостоятельно С++ за 21 день.
Издательство:
неизвестно
Год:
неизвестен
ISBN:
нет данных
Скачать:

99Пожалуйста дождитесь своей очереди, идёт подготовка вашей ссылки для скачивания...

Скачивание начинается... Если скачивание не началось автоматически, пожалуйста нажмите на эту ссылку.

Вы автор?
Жалоба
Все книги на сайте размещаются его пользователями. Приносим свои глубочайшие извинения, если Ваша книга была опубликована без Вашего на то согласия.
Напишите нам, и мы в срочном порядке примем меры.

Как получить книгу?
Оплатили, но не знаете что делать дальше? Инструкция.

Описание книги "Освой самостоятельно С++ за 21 день."

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



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

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






short int Divider(unsigned short int valOne, unsigned short int valTwo)

{

   if (valTwo == 0)

      return -1;

   else

      return valOne / valTwo;

}

6. Напишите программу, которая запрашивает у пользователя два числа и вызывает функцию, записанную при выполнении упражнения 5. Выведите результат или сообщение об ошибке, если функция возвратит значение, равное -1.

#include <iostream.h>

typedef unsigned short int USHORT;

typedef unsigned long int ULONG;

short int Divider(

unsigned short int valone,

unsigned short int valtwo);

int main()

{

   USHORT one, two;

   short int answer;

   cout << "Enter two numbers.\n Number one: ";

   cin >> one;

   cout << "Number two: ";

   cin >> two;

   answer = Divider(one, two);

   if (answer > -1)

     cout << "Answer: " << answer;

   else

     cout << "Error, can't divide by zero!";

   return 0;

}

7. Напишите программу, которая запрашивает число и показатель степени. Напишите рекурсивную функцию, которая возводит число в степень путем многократного умножения числа на самое себя, т.е. если число равно 2, а показатель степени равен 4, то эта функция должна возвратить число 16.

#include <iostream.h>

typedef unsigned short USHORT;

typedef unsigned long ULONG;

ULONG GetPower(USHORT n, USHORT power);

int main()

{

   USHORT number, power;

   ULONG answer;

   cout << "Enter a number: ";

   cin >> number;

   cout << "To what power? ";

   cin >> power;

   answer = GetPower(number,power);

   cout << number << " to the " << power << "th power is " << answer << endl;

   return 0;

}

ULONG GetPower(USHORT n, USHORT power)

{

   if(power == 1)

      return n;

   else

      return (n * GetPower(n,power-1));

}

День 6

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

1. Что представляет собой оператор прямого доступа и для чего он используется?

Оператор точки прямого доступа представляет собой символ точки (.). Он используется для обращения к членам класса.

2. Что резервирует память — объявление или определение?

Память резервируется определениями переменных. Объявления классов не резервируют память.

3. Объявление класса является его интерфейсом или выполнением?

Объявление класса является его интерфейсом, который сообщает клиентам класса, как с ним взаимодействовать. Выполнение класса — это набор функций-членов, сохраняемых обычно в файле с расширением CPP.

4. Какова разница между открытыми (public) и закрытыми (private) данными- членами?

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

5. Могут ли функции-члены быть закрытыми?

Да. Как функции-члены, так и переменные-члены могут быть закрытыми.

6. Могут ли переменные-члены быть открытыми?

Хотя переменные-члены могут быть открытыми, но считается хорошей практикой программирования, когда переменные-члены объявляются все же закрытыми, а доступ к этим данным обеспечивается за счет открытых методов доступа.

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

Да. Каждый объект класса имеет свои собственные переменные-члены.

8. Ну5кно ли объявления класса завершать точкой с запятой? А определения методов класса?

Объявления класса заканчиваются точкой с запятой после закрывающей фигурной скобки, а определения функций-членов — нет.

9. Как бы выглядел заголовок функции-члена Meow класса Cat, которая не принимает никаких параметров и возвращает значение типа void?

Заголовок функции-члена Meow() класса Cat, которая не принимает параметров и возвращает значение типа void, должен иметь следующий вид:

void Cat::Meow()

10. Какая функция вызывается для выполнения инициализации класса? Для инициализации класса вызывается конструктор.

Упражнения 

1. Напишите программу, которая объявляет класс с именем Employee (Служащие) с такими переменными-членами: age (возраст), yearsOfService (стаж работы) и Salary (зарплата).

class Employee

{

   int Age;

   int YearsOfService;

   int Salary;

};

2. Перепишите класс Employee, чтобы сделать данные-члены закрытыми и обеспечить открытые методы доступа для чтения и установки всех данных-членов.

class Employee

{

   public:

      int GetAge() const;

      void SetAge(int age);

      int GetYearsOfService() const;

      void SetYearsOfService(int years);

      int GetSalary() const;

      void SetSalary(int salary);

   private:

      int Age;

      int YearsOfService;

      int Salary;

};

3. Напишите программу с использованием класса Employee, которая создает два объекта класса Employee; устанавливает данные-члены age, YearsOfService и Salary, а затем выводит их значения.

int main()

{

   Employee John;

   Employee Sally;

   John.SetAge(30);

   John.SetYearsOfService(5);

   John.SetSalary(50000);

   Sally.SetAge(32);

   Sally.SetYearsOfService(8);

   Sally.SetSalary(40000);

   cout << "At AcmeSexist company, John and Sally have the same job.\n";

   cout << "John is " << John.GetAge() << " years old and he has been with";

   cout << "the firm for " << John.GetYearsOfService << " years.\n";

   cout << "John earns $" << John.GetSalary << " dollars per year.\n\n";

   cout << "Sally, on the other hand is " << Sally.GetAge() << " years old and has";

   cout << "been with the company " << Sally.GetYearsOfService;

   cout << " years. Yet Sally only makes $" << Sally.GetSalary();

   cout << " dollars per year! Something here is unfair.";

   return 0;

}

4. На основе программы из упражнения 3 создайте метод класса Employee, который сообщает, сколько тысяч долларов зарабатывает служащий, округляя ответ до 1 000 долларов.

float Employee:GetRoundedThousands() const

{

   return (Salary+500) / 1000;

}

5. Измените класс Employee так, чтобы можно было инициализировать данные-члены

age, YearsOfService и Salary в процессе "создания" служащего.

class Employee

{

   public:

      Employee(int Age, int yearsOfService, int salary);

      int GetAge() const;

      void SetAge(int Age);

      int GetYearsOfService() const;

      void SetYearsOfService(int years);

      int GetSalary() const;

      void SetSalary(int salary);

   private:

      int Age;

      int YearsOfService;

      int Salary;

};

6. Жучки: что неправильно в следующем объявлении?

class Square

{

   public:

      int Side;

}

Объявления классов должны завершаться точкой с запятой.

7. Жучки: что весьма полезное отсутствует в следующем объявлении класса?

class Cat

{

   int GetAge() const;

   private:

      int itsAge;

};

Метод доступа к данным GetAge() является закрытым по умолчанию. Помните: все члены класса считаются закрытыми, если не оговорено иначе.

8. Жучки: какие три ошибки обнаружит компилятор в этом коде?

class TV

{

   public:

      void SetStation(int Station);

      int GetStation() const;

   private:

      int itsStation;

};

main()

{

   TV myTV;

   myTV.itsStation = 9;

   TV.SetStation(10);

   TV myOtherTv(2);

}

Нельзя обращаться к переменной itsStation непосредственно. Это закрытая пере- менная-член.

Нельзя вызывать функцию-член SetStation()npHMO в классе. Метод SetStation() можно вызывать только для объекта.

Нельзя инициализировать переменную-член itsStation, поскольку в программе не определен нужный для этого конструктор.

День 7

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

1. Можно ли в цикле for инициализировать сразу несколько переменных-счетчиков?

Можно, для этого в строке инициализации их следует разделить запятыми, например:

for <х = 0. у = 10; х < 100; х++, у++)

2. Почему следует избегать использование оператора goto?

Оператор Goto выполняет переход в любом направлении к любой произвольной

строке программы. Это делает исходный код слишком запутанным, а следовательно, и трудным для понимания и дальнейшего обслуживания.

3. Можно ли с помошью оператора for организовать цикл, тело которого не будет выполняться?

Да. Если условие после инициализации оказывается ложным (FALSE), то тело цикла

for никогда не будет выполняться. Вот пример:

for (lnt х = 100; х < 100; х++)

4. Можно ли организовать цикл while внутри цикла for?

Да. Любой цикл может быть вложен внутрь любого другого цикла.

5. Можно ли организовать цикл, который никогда не завершится? Приведите пример.

Да. Ниже приведены примеры как для цикла for, так и для цикла wtiile:

for(;;)

{

   // Этот цикл никогда не заканчивается!

}

whlle(1)

{

   // Этот цикл никогда не заканчивается!

}

6. Что происходит при запуске бесконечного цикла?

Программа зависнет и придется перезагрузить компьютер.

Упражнения 

1. Каким будет значение переменной х после завершения никла

for (int X = 0; X < 100; х++)?

100

2. Создайте вложенный цикл for, заполняющий нулями массив размером 10x10.

for (int = 0; i< 10; i++)


На Facebook В Твиттере В Instagram В Одноклассниках Мы Вконтакте
Подписывайтесь на наши страницы в социальных сетях.
Будьте в курсе последних книжных новинок, комментируйте, обсуждайте. Мы ждём Вас!

Похожие книги на "Освой самостоятельно С++ за 21 день."

Книги похожие на "Освой самостоятельно С++ за 21 день." читать онлайн или скачать бесплатно полные версии.


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

Все книги автора Джесс Либерти

Джесс Либерти - все книги автора в одном месте на сайте онлайн библиотеки LibFox.

Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.

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

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

А что Вы думаете о книге? Оставьте Ваш отзыв.