Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 11, средняя оценка - 4.91
Алексей83
1 / 1 / 0
Регистрация: 14.10.2008
Сообщений: 15
#1

тестовые вопросы - C++

23.04.2012, 21:26. Просмотров 1377. Ответов 9
Метки нет (Все метки)

Добрый вечер, требуется подсказка по трем вопросам из тестов.

1. Заголовок функции имеет вид: void f( float a, float b, float& c);
Укажите правильные варианты вызова функции, если переменные в вызывающей функции описаны так: int a; char b, c; float d, x;

1) f(a, b, c);
2) f(d+a, c, x);
3) f(x, 'c', d);
4) f(a, b, a+1);

2. Какое из приведенных ниже утверждений истинно в применении к указателям на функции?
1) Их нельзя присвоить другим указателям на функции.
2) Их нельзя передать в функцию, но можно из нее возвратить.
3) Их нельзя хранить в массивах.
4) Они указывают на адрес на диске, где компилируется код функции.
5) Их можно сравнивать, используя операции сравнения на равенство.

3. Что неверно при инициализации 'y' в приведенном коде?


class SomeClass
{
int x;
public:
SomeClass (int xx): x(xx) {};
} ;
SomeClass x(10);
SomeClass y(x);

1) Это неверно, потому что SomeClass не содержит виртуального деструктора.
2) Это неверно, потому что SomeClass не содержит конструктора по умолчанию.
3) Здесь нет ничего неверного. С инициализацией 'y' все в порядке.
4) Это неверно, потому что SomeClass не содержит конструктора копирования.

Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.04.2012, 21:26     тестовые вопросы
Посмотрите здесь:

тестовые вопросы - C++
Всем привет, помогите пожалуйста написать программу на С++ через консоль: Один тестовый вопрос представляет собой структуру Task со...

Тестовые вопросы - C++
Добрый вечер! помогите пожалуйста с вопросами 1.почему именно sqrt (x.x) а ни как по другому? 2.return 0, 0-это константа? а если...

Тестовые вопросы по перегрузке операторов - C++
Нужно составить 10 тестовых вопросов по Перегрузке операторов (ООП) Кто чем может пли_з помог_ите.

тестовые вопросы открытого типа - C++
Помогите пожалуйста. Нужно создать програмку анализа ответов на тестовые вопросы открытого типа. Вопросы и лексемы(правильные ответы)...

Тестовые вопросы по теме Перегрузка Операторов - C++
Вопрос 7 Когда происходит динамическое связывания ответ а во время связоования ответ B во воремя инкапсуляции ответ С во...

тестовые фреймворки - C++
Здравствуйте. Возникла необходимость в сабже. Есть ли описание какого либо и основ работы с ним на русском. Буду очень благодарен. ...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
zss
Модератор
Эксперт С++
6321 / 5905 / 1913
Регистрация: 18.12.2011
Сообщений: 15,183
Завершенные тесты: 1
23.04.2012, 22:26     тестовые вопросы #2
По третьему вопросу правильный ответ №4.
По первому и второму вопросу ответы очень спорные,
например, в примерах из первого вопроса компилятор
выдает ошибки только на первый и четвертый
( невозможно преобразовать параметр 3 из 'char' в 'float &' и
невозможно преобразовать параметр 3 из 'int' в 'float &')
хотя в третьем пункте явная ошибка в том, что имя переменной взято в кавычки
Алексей83
1 / 1 / 0
Регистрация: 14.10.2008
Сообщений: 15
23.04.2012, 22:31  [ТС]     тестовые вопросы #3
А разве char к просто float можно преобразовать (вопрос 2, вариант 2)?
Bers
Заблокирован
24.04.2012, 00:15     тестовые вопросы #4
1 -2,3
2 - 5
3 - 3
taras atavin
Ушёл с форума.
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
24.04.2012, 07:18     тестовые вопросы #5
Цитата Сообщение от Алексей83 Посмотреть сообщение
1. Заголовок функции имеет вид: void f( float a, float b, float& c);
Укажите правильные варианты вызова функции, если переменные в вызывающей функции описаны так: int a; char b, c; float d, x;
1) f(a, b, c);
2) f(d+a, c, x);
3) f(x, 'c', d);
4) f(a, b, a+1);
2, 3: третий параметр - строго переменная типа float, первые два - значения, приводимые к float, то есть числовые. char считается числом.

Добавлено через 3 минуты
Цитата Сообщение от Алексей83 Посмотреть сообщение
2. Какое из приведенных ниже утверждений истинно в применении к указателям на функции?
1) Их нельзя присвоить другим указателям на функции.
2) Их нельзя передать в функцию, но можно из нее возвратить.
3) Их нельзя хранить в массивах.
4) Они указывают на адрес на диске, где компилируется код функции.
5) Их можно сравнивать, используя операции сравнения на равенство.
Всякий указатель указывает в оперативу, значит 4-й не подходит. Запретов на присваивание, хранение в массивах и передачу в параметре ни для каких указателей нет, значит первые три тоже ложны. И любые указатели можно сравнивать на равенство и не равенство, значит пятый - истина.
diagon
Higher
1928 / 1194 / 49
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
24.04.2012, 07:21     тестовые вопросы #6
Цитата Сообщение от zss Посмотреть сообщение
По третьему вопросу правильный ответ №4.
Не-а, компилятор сам генерирует копиконструктор, так что с инициализацией в данном случае все в порядке.
taras atavin
Ушёл с форума.
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
24.04.2012, 07:26     тестовые вопросы #7
Цитата Сообщение от Алексей83 Посмотреть сообщение
3. Что неверно при инициализации 'y' в приведенном коде?
class SomeClass
{
int x;
public:
SomeClass (int xx): x(xx) {};
} ;
SomeClass x(10);
SomeClass y(x);
1) Это неверно, потому что SomeClass не содержит виртуального деструктора.
2) Это неверно, потому что SomeClass не содержит конструктора по умолчанию.
3) Здесь нет ничего неверного. С инициализацией 'y' все в порядке.
4) Это неверно, потому что SomeClass не содержит конструктора копирования.
Деструктор здесь ни причём, конструктор по дефолту не используется в таком синтаксисе, там всё таки переменная в скобках. Не верно потому, что нет конструктора-копировщика, то есть четвёртый пункт.

Добавлено через 2 минуты
Цитата Сообщение от diagon Посмотреть сообщение
Не-а, компилятор сам генерирует копиконструктор, так что с инициализацией в данном случае все в порядке.
На автомате генерятся оператор копирующего присваивания, деструктор и конструктор без параметров, причём, конструктор только в том случае, если нет вообще ни одного явного конструктора.

Добавлено через 1 минуту
Цитата Сообщение от zss Посмотреть сообщение
хотя в третьем пункте явная ошибка в том, что имя переменной взято в кавычки
Во первых это не кавычки, а апостроф, а во вторых идентификаторы не накладывают ни каких ограничений на значения чаровых констант. Совпадение с именем переменной случайно, 'c' само по себе и допустимо вне зависимости ни от каких переменных.

Добавлено через 2 минуты
Цитата Сообщение от zss Посмотреть сообщение
По первому и второму вопросу ответы очень спорные,
Нет там ничего спорного.
diagon
Higher
1928 / 1194 / 49
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
24.04.2012, 07:35     тестовые вопросы #8
Цитата Сообщение от taras atavin Посмотреть сообщение
На автомате генерятся оператор копирующего присваивания, деструктор и конструктор без параметров
The default constructor (12.1), copy constructor and copy assignment operator (12.8), move constructor and move assignment operator (12.8), and destructor (12.4) are special member functions. [ Note: The implementation will implicitly declare these member functions for some class types when the program does not explicitly declare them
http://www.open-std.org/jtc1/sc22/wg...2012/n3337.pdf
12 раздел, самое начало(242 страница)
panicwassano
591 / 559 / 20
Регистрация: 07.11.2010
Сообщений: 2,004
24.04.2012, 08:00     тестовые вопросы #9
Цитата Сообщение от diagon Посмотреть сообщение
На автомате генерятся оператор копирующего присваивания, деструктор и конструктор без параметров
конструктор копиии сам сгенерируется и скопирует все поля что есть, а т.к. там только одно числовое поле, то с инициализацией проблем нет! другое дело если был бы член указатель
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.04.2012, 19:12     тестовые вопросы
Еще ссылки по теме:

Тестовые файлы: преобразовать строку, удалив из нее все четырехбуквенные слова - C++
помогите пожалуйста разобраться, нужно преобразовать строку , удалив из нее все четырехбуквенные слова, подпрограмму обработки строки...

Вопросы начинающего - C++
Здравствуйте. Самостоятельно приступила к изучению Visual C++, т.к. наставников в шаговой доступности нет, а вопросы есть, решила...

Вопросы на логику - C++
Добрый день форумчане.... не смогли бы вы задать вопросов на логику или программ каких нибудь? хочу проверить себя... как хорошо...

Житейские вопросы по С++ - C++
Здравствуйте я бы хотел задать несколько житейский вопросов по С++ 1)Когда лучше начать изучать С++ 2)Сколько по С++ должен знать 10...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Алексей83
1 / 1 / 0
Регистрация: 14.10.2008
Сообщений: 15
24.04.2012, 19:12  [ТС]     тестовые вопросы #10
taras atavin, diagon, panicwassano, благодарю за содержательные ответы!
Yandex
Объявления
24.04.2012, 19:12     тестовые вопросы
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru