![]() Главная страница Случайная страница Разделы сайта АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Упражнения. 1. Напишите программу, которая объявляет класс с именем Employee (Служащие) с такими переменными-членами: age (возраст)
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 долларов. Забиваем Сайты В ТОП КУВАЛДОЙ - Уникальные возможности от SeoHammer
Каждая ссылка анализируется по трем пакетам оценки: SEO, Трафик и SMM.
SeoHammer делает продвижение сайта прозрачным и простым занятием.
Ссылки, вечные ссылки, статьи, упоминания, пресс-релизы - используйте по максимуму потенциал SeoHammer для продвижения вашего сайта.
Что умеет делать SeoHammer
— Продвижение в один клик, интеллектуальный подбор запросов, покупка самых лучших ссылок с высокой степенью качества у лучших бирж ссылок. — Регулярная проверка качества ссылок по более чем 100 показателям и ежедневный пересчет показателей качества проекта. — Все известные форматы ссылок: арендные ссылки, вечные ссылки, публикации (упоминания, мнения, отзывы, статьи, пресс-релизы). — SeoHammer покажет, где рост или падение, а также запросы, на которые нужно обратить внимание. SeoHammer еще предоставляет технологию Буст, она ускоряет продвижение в десятки раз, а первые результаты появляются уже в течение первых 7 дней. Зарегистрироваться и Начать продвижение 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? Да. Любой цикл может быть вложен внутрь любого другого цикла. Сервис онлайн-записи на собственном Telegram-боте
Попробуйте сервис онлайн-записи VisitTime на основе вашего собственного Telegram-бота:— Разгрузит мастера, специалиста или компанию; — Позволит гибко управлять расписанием и загрузкой; — Разошлет оповещения о новых услугах или акциях; — Позволит принять оплату на карту/кошелек/счет; — Позволит записываться на групповые и персональные посещения; — Поможет получить от клиента отзывы о визите к вам; — Включает в себя сервис чаевых. Для новых пользователей первый месяц бесплатно. Зарегистрироваться в сервисе 5. Можно ли организовать цикл, который никогда не завершится? Приведите пример. Да. Ниже приведены примеры как для цикла for, так и для цикла wtiile: for(;;) { // Этот цикл никогда не заканчивается! } whlle(1) { // Этот цикл никогда не заканчивается! } 6. Что происходит при запуске бесконечного цикла? Программа зависнет и придется перезагрузить компьютер.
|