![]() Главная страница Случайная страница Разделы сайта АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Упражнения. 1. Напишите программу, которая объявляет переменную типа int, ссылку на значение типа int и указатель на значение типа int
1. Напишите программу, которая объявляет переменную типа int, ссылку на значение типа int и указатель на значение типа int. Используйте указатель и ссылку для управления значением переменной типа int. int main() { int varOne; int& rVar = varOne; int* pVar = & varOne; rVar = 5: *pVar = 7: return 0; } 2. Напишите программу, которая объявляет константный указатель на постоянное целое значение. Инициализируйте его, чтобы он указывал на целочисленную переменную varOne. Присвойте переменной varOne значение 6. Используйте указатель, чтобы присвоить переменной varOne значение 7. Создайте вторую целочисленную переменную varTwo. Переназначьте указатель, чтобы он указывал на переменную varTwo. Пока не компилируйте это упражнение. int main() { int varOne; const int * const pVar = dvarOne; *pVar = 7; int varTwo; pVar = & varTwo. return 0; } 3. Скомпилируйте программу, написанную в упражнении 2. Какие действия компилятор считает ошибочными? Какие строки генерируют предупреждения? Нельзя присваивать значение константному объекту и нельзя переназначать константный указатель. 4. Напишите программу, которая создает блуждающий указатель. int main() { int > > pVar; *pVar = 9; return 0; } 5. Исправьте программу из упражнения 4, чтобы блуждающий указатель стал нулевым. int main() { int varOne; int * pVar = ivarOne; *pVar = 9; return 0. } 6. Напишите программу, которая приводит к утечке памяти. #include < iostream.h> int * FuncOne(); int main() { int * pInt = FuncOneO; cout < < " the value of pint in main is: " < < *pInt < < endl: return 0; } int * FuncOne() { int * pInt = new int (5): cout < < " the value of pint in FuncOne is: " < < *pInt < < endl: return pInt; } 7. Исправьте программу из упражнения 6. #include < iostream.h> Забиваем Сайты В ТОП КУВАЛДОЙ - Уникальные возможности от SeoHammer
Каждая ссылка анализируется по трем пакетам оценки: SEO, Трафик и SMM.
SeoHammer делает продвижение сайта прозрачным и простым занятием.
Ссылки, вечные ссылки, статьи, упоминания, пресс-релизы - используйте по максимуму потенциал SeoHammer для продвижения вашего сайта.
Что умеет делать SeoHammer
— Продвижение в один клик, интеллектуальный подбор запросов, покупка самых лучших ссылок с высокой степенью качества у лучших бирж ссылок. — Регулярная проверка качества ссылок по более чем 100 показателям и ежедневный пересчет показателей качества проекта. — Все известные форматы ссылок: арендные ссылки, вечные ссылки, публикации (упоминания, мнения, отзывы, статьи, пресс-релизы). — SeoHammer покажет, где рост или падение, а также запросы, на которые нужно обратить внимание. SeoHammer еще предоставляет технологию Буст, она ускоряет продвижение в десятки раз, а первые результаты появляются уже в течение первых 7 дней. Зарегистрироваться и Начать продвижение int FuncOne(); int main() { int theInt = FuncOne(); cout < < " the value of pint in main is: " < < theInt < < endl; return 0: } int FuncOne() { int * pInt = new int (5); cout < < " the value of pint in FuncOne is: " < < < < pInt < < endl; delete pint; return temp; } 8. Жучки: что неправильно в этой программе? 1: #include < iostream.h> 3: class CAT 4: { 5: public: 6: CAT(int age) { itsAge = age; } 7: ~CAT(){ } 8: int GetAge() const { return itsAge; } 9: private: 10: int itsAge: 11: }; 12: 13: CAT & MakeCat(int age): 14: int main() 15: { 16: int age = 7; 17: CAT Boots = MakeCat(age); 18: cout < < " Boots is " < < Boots.GetAge() < < " years old\n"; 19: return 0: 20: } 22: CAT & MakeCat(int age) 23: { 24: CAT * pCat = new CAT(age); 25: return *pCat; 26: } Функция MakeCat возвращает ссылку на объект класса CAT, созданный в свободной памяти. Но поскольку здесь не предусмотрена операция по освобождению этой памяти, создание нового объекта приводит к ее утечке. 9. Исправьте программу из упражнения 8. 1: #include < iostream.h> 2: 3: class CAT 4: { 5: public: 6: CAT(int age) { itsAge = age; } 7: ~CAT(){ } 8: int GetAgeO const { return itsAge; } 9: private: 10: int itsAge; 11: }; 13: CAT * MakeCat(int age); 14: int main() 15: { 16: int age = 7; 17: CAT * Boots = MakeCat(age); 18: cout < < " Boots is " < < Boots.GetAge() < < " years old\n"; 19: delete Boots; 20: return 0; 21: } 23: CAT * MakeCat(int age) 24: { 25: return new CAT(age); 26: }
|