|
|
|
Теория ООП в Си
|
|||
|---|---|---|---|
|
#18+
Сразу замечу, что я полный нУб, живу в бубруйске и пью яд каждый день вместо чая... но это лирическое отступление. Проблема: моя девушка восстанавливается в институт и ей надо доздать программирование за 2ой курс, а теория там ... вобщем щас сами увидите... Сам я не программер, так что сходу ответить не смогу, а поиски дали минимальные результаты. Нужно сдать 2 контрольных... есть все билеты. Итак: КР 1 Вар 1 1.В каких строчках кода допущены ошибки и почему? int i=0; static int k=i+1; for(int counter1=0;counter1<3;counter1++){ int j; j=int i=0; for(int counter2=10;counter2>0;counter2-- k+=counter2; } for(int counter1=0;counter1<3;counter1++) i++; 2. Назовите ограничения на битовые поля в структурах и объединениях. 3. Что такое область видимости переменной и операция разрешения области видимости? 4. Что говорят модификаторы const и volatile? 5. Назовите 3 правила, которых надо придерживатся при использовании встраеваемой функции. 6. Когда компилятором создаются временные переменные при вызове функций с аргументами, передаваемыми как ссылки? Что нужно помнить при возвращении из функции ссылки на переменную? 7. Приведите пример объявления функции по стандарту С в файле для компилятора С++. 8. Как объявить ссылку на динамическую память и как будет выглядеть использование оператора delete для этой переменной Вар 2 1. Назовите основные принципы ООП. Приведите примеры. 2. Назовите 3 преимущества использования констант перед директивой #define. 3. Как записывается статическая переменная в структурах. В чем особенность использования статической переменной 4. Чем прототип функции в с++ отличается от прототипа функции в С? 5. Что такое ссылка? Что нужно сделать сразу при объявлении ссылки? Когда создание ссылки приводит к копированию объекта, на который будет ссылатся ссылка? 6. Что делает опреатор new? Что является результатом его работы?? Назовите отличия от функции языка Си malloc и calloc? 7. Какие правила и ограничения перегрузки операторов вы знаете? 8. Напишите шаблон функции swap. Вар 3 1. Укажите неправильный комментарий, где компилятор выдаст ошибку: а)// komm b)/* komm*/ c)/* komm/* komm2*/komm*/ d)/* komm// komm2 - komm*/ e)// komm/* komm2*/komm f)x=a//* delenie*/c; g)x=a/ /* delenie*/c; 2. В чем разница между #define и const? 3. Укажите 2 способа доступа статическому элементу структуры 4. Какие ограничения существуют на объявления параметров функции по умолчанию? Где указываются значения по умолчанию? Какие вызовы допустимы для int fun(int i,double d=0.1, char * str = NULL)? 5. Напишите функцию swap для замены значений целых чисел с использованием ссылок (int). Приведите примеры её вызова 6. Что такое перегрузка функций? аким критерием руководствуется компилятор для выбора нужной функции. Что происходит, когда компилятор не находит соответсвующую функцию? 7. Чему равны значения переменных str и i? str= new char[20] i = new int 8. Напишите пример перегрузки оператора * для векторов. Вар 4 1. Какие модификаторы, преобразующие тип констант существует в С++. Приведите примеры записи констант с модификаторами. 2. Какая есть альтернативная форма определения символических констант? 3. Какие есть в С++ форматы записи преобразования типов. Приведите примеры. Какие ограничения на запись преобразования типов существуют? 4. Замените макрос на вставляемую функцию AVERAGE( a,b)(((a)+(b))/2) В чём могут быть отличия при вызове встраиваемой функции от использования директивы #Define? 5. В чём отличия при использовании ссылок в качестве аргументов функции от указателей? 6. Назовите ограничения для перегруженных функций 7. Что делает оператор delete? Укажите, где допущена ошибка и почему: int v1,*v2,*v3,*v4,v[10]; v3=new int(5); v4 = v; delete v1; delete v2; delete v3; delete v4; delete v; 8. Напишите фрагмент программы вводящей с консоли переменные типов char,double,string и распечатывающий на консоль введенные значения построчно. Использовать тока cout и cin. КР 2 Вар 1 1. Что такое абстрактные типы данных и почему они так называются? 2. Что характеризуют член-данные и член-функции класса. 3. Какие ключевые слова используются для определения класса? В чём отличие полученных классов? 4. Что такое локальный класс? Приведите пример. 5. Зависит ли область видимости членов класса от точки их объявления? Приведите пример. 6. В чём заключается основная функция конструкторов? Какую еще важную информацию могут выполнять конструкторы? 7. Какие классы памяти вы знаете? В чём различия? 8. О чём говорит объявление объкта с ключевым словом const? 9. Как член-функция разбирается, с данными какого объекта ей надо работать? 10. int var=512; int func(char s*){ int var=100; cout <<ver<<"\n" class Local { public: void print(){cout<<var<<"\n";} }; Local l.print(); } Ято распечатает функция func? 11. Что такое вложенные классы? 12. Какие спецификотры доступа вы знаете? Как меняются эти спецификаторы при наследовании? 13. Что такле виртуальные классы? Зачем они нужны? Покажите на примере строение объекта при обычном и виртуальном наследовании. 14. Как выглядит виртуальный деструктор? В чём смысл создания виртуальных деструкторов? Вар 2 1. Что такое класс? Чем он отличается от структуры в языке Си? Привидите пример объявления класса. 2. В чём отличие в уровнях доступа private,protected и public? 3. В каких секциях рекомендуется объявлять член-данные и член-функции?Какие это даёт преимущества? какой становится функция класса, когда её тело приводится в описание класса? 4. Как осуществляется доступ к открытым членам объекта? 5. Как явно указать область видимости переменной? Приведите пример. 6. Что делает деструктор и как он записывается? Привидите пример. 7. Какие члены называют статическими? Как осуществляется доступ к статическому члену класса? Привидите пример 8. Что означает термины "опасные" и "безопасные" член-функции? 9. Привидите пример указателя на функцию, проинициализируйте его некой функцией-членом. 10. Привидите примеры указателей на static член-данное и static член функцию. 11. Кто может быть другом класса? 12. Что такое наследование? Какие виды наследования вы знаете? 13. Что такое полиморфизм, приведите примеры. 14. Какой класс называется абстактным? Какие ограничения накладываются на использование абстрактного класса? Вар 3 1. Что такое членны класса? Привидите примеры 2. Как можно управлять доступом к членас класса? Какие уровни вы знаете? 3. Как показывается какому классу принадлежит член функция, если её тело приводится вне описания класса? Приведите пример. 4. Какие области видимости поддерживаются в с++. В чём различие между ними 5. Чем отличается член функция от обычных функций? 6. Что значит статическое и динамическое выдиление памяти? 7. Какие правила нужно соблюдать при написании конструкторов и деструкторов? 8. Чем статическое член-данное класса отличается от обычной глобальной переменной? Где должно инициализироватся статическое член-данное? 9. Можно ли объявить у класса две следующие функции? Почему? bool isFull() const; bool isFool(); 10. Чему должен соответствовать указатель на член-функцию присваемой функции при инициализации? 11. Что такое дружественные функции? Как они записываются? Приведите пример 12. Как осуществляется доступ к переменным и функциям базового класса? Какой порядок инициализации при наследовании 13. Что такое виртуальная функция? Какие ограничения накладываются на объявление виртуальной функции? 14. Когда вызов виртуальной функции не является виртуальным? Заранее огромное спасибо всем кто попытается помоч ЗЫ: Вы не думайте, что я свалил всё на вас а сам жду ответов, у мну тоже в браузере щас 15 окон с различными учебниками и прочим ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2005, 21:03 |
|
||
|
Теория ООП в Си
|
|||
|---|---|---|---|
|
#18+
nozar int i=0; static int k=i+1; for(int counter1=0;counter1<3;counter1++){ int j; j=int i=0; // должно быть int i=0; for(int counter2=10;counter2>0;counter2-- // должна быть скобка ) k+=counter2; } for(int counter1=0;counter1<3;counter1++) i++; nozar 1. Укажите неправильный комментарий, где компилятор выдаст ошибку: а)// komm b)/* komm*/ c)/* komm/* komm2*/komm*/ d)/* komm// komm2 - komm*/ e)// komm/* komm2*/komm f)x=a//* delenie*/c; g)x=a/ /* delenie*/c; c, d nozar ЗЫ: Вы не думайте, что я свалил всё на вас а сам жду ответов, у мну тоже в браузере щас 15 окон с различными учебниками и прочим судя по количеству вопров все имеено так и думают. Правилом хорошего тона предложить свой вариант и спросить почему не работает. А отвечать на вопросы как самому вырезать аппендицит довольно трудно, чтбы не обидеть человека. Книжка по С++ читается за 2 часа. Может ей пока рано восстанавливаться ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2005, 22:45 |
|
||
|
|

start [/forum/topic.php?fid=57&tid=2032553]: |
0ms |
get settings: |
10ms |
get forum list: |
16ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
34ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
47ms |
get tp. blocked users: |
2ms |
| others: | 234ms |
| total: | 365ms |

| 0 / 0 |
