В какой строке данного фрагмента кода допущена ошибка?
int a = 3;
int i; // 2
for (i = 0; i < 3; i++) { // 3
a++; // 4
}
Варианты ответов:
1) Во второй: переменная i должна быть проинициализирована
2) В третьей: переменная i должна быть объявлена в конструкции for
3) В четвертой: результат выражения a++ игнорируется
4) В этом коде нет ошибок
В какой строке данного фрагмента кода допущена ошибка?
int a = 3;
int i; // 2
for (i = 0; i < 3; i++) { // 3
a++; // 4
}
Варианты ответов:
1) Во второй: переменная i должна быть проинициализирована
2) В третьей: переменная i должна быть объявлена в конструкции for
3) В четвертой: результат выражения a++ игнорируется
4) В этом коде нет ошибок
// Example program (С++11)
#include <iostream>
class A{
const int val = 1;
friend void f(A& a) { std::cout << a.val; }
};
int main()
{
A a;
f(a);
}
При компиляции и запуске данная программа:
1) выведет на экран цифру 1
2) программа успешно компилируется но при запуске ничего не напечатает
3) выдаст ошибку компиляции
4) выдаст ошибку в режиме выполнения
// Example program (С++11)
#include <iostream>
class A{
const int val = 1;
friend void f(A& a) { std::cout << a.val; }
};
int main()
{
A a;
f(a);
}
При компиляции и запуске данная программа:
1) выведет на экран цифру 1
2) программа успешно компилируется но при запуске ничего не напечатает
3) выдаст ошибку компиляции
4) выдаст ошибку в режиме выполнения
В какой строке выполнено неправильное преобразование?
#include <stdio.h>
class A
{
virtual void print() = 0;
};
class B: public A
{
void print()
{
printf("B");
}
};
class C: public A
{
void print()
{
printf("C");
}
};
int main()
{
A *a1 = new B(); //1
A *a2 = new C(); //2
B *b1 = dynamic_cast<B *>(a1); //3
B *b2 = dynamic_cast<B *>(a2); //4
return 0;
}
В какой строке выполнено неправильное преобразование?
#include <stdio.h>
class A
{
virtual void print() = 0;
};
class B: public A
{
void print()
{
printf("B");
}
};
class C: public A
{
void print()
{
printf("C");
}
};
int main()
{
A *a1 = new B(); //1
A *a2 = new C(); //2
B *b1 = dynamic_cast<B *>(a1); //3
B *b2 = dynamic_cast<B *>(a2); //4
return 0;
}
Выберите правильные утверждения о конструкторе класса:
1) Конструктор имеет то же имя, что и класс.
2) Конструктор объявляется в точности так же, как и обычный метод класса.
3) Конструктор не возвращает значения.
4) Имя конструктора начинается с символа ~.
5) Конструктор может иметь любое имя.
Выберите правильные утверждения о конструкторе класса:
1) Конструктор имеет то же имя, что и класс.
2) Конструктор объявляется в точности так же, как и обычный метод класса.
3) Конструктор не возвращает значения.
4) Имя конструктора начинается с символа ~.
5) Конструктор может иметь любое имя.
Чем классы отличаются от структур?
1) Наличием функции-членов
2) Модификатором доступа к полям и функциям-членам, предполагаемым по умолчанию
3) Наличием полей разных типов
4) Наличием имени
Чем классы отличаются от структур?
1) Наличием функции-членов
2) Модификатором доступа к полям и функциям-членам, предполагаемым по умолчанию
3) Наличием полей разных типов
4) Наличием имени
Что выведет на экран следующая программа?
#include <iostream>
enum Num {zero, one, two = 37, three, four};
int main(void) {
Num number = three;
int intNum = static_cast<int>(number);
std::cout << intNum;
return 0;
}
Что выведет на экран следующая программа?
#include <iostream>
enum Num {zero, one, two = 37, three, four};
int main(void) {
Num number = three;
int intNum = static_cast<int>(number);
std::cout << intNum;
return 0;
}
Чему равно значение переменной res?
#define F(x) (2*x*x)
int main() {
int a = 1, b = 2;
int res = F(a + b);
return 0;
}
Чему равно значение переменной res?
#define F(x) (2*x*x)
int main() {
int a = 1, b = 2;
int res = F(a + b);
return 0;
}
Что будет выведено на экран?
#include <iostream>
int main() {
int x = 5;
0[&x] = x + x;
std::cout << x;
return 0;
}
Что будет выведено на экран?
#include <iostream>
int main() {
int x = 5;
0[&x] = x + x;
std::cout << x;
return 0;
}
Объявляет ли данная строка массив ссылок, если мы правильно их проинициализируем?
int& ref[10];
Объявляет ли данная строка массив ссылок, если мы правильно их проинициализируем?
int& ref[10];
В каких строках содержатся ошибки (компиляции, времени выполнения, undefined behavior), если они есть?
char a[] = "123"; //1
char b[5] = "123"; //2
const char *c = "123"; //3
a[3] = '3'; //4
b[4] = '3'; //5
c[2] = '5'; //6
В каких строках содержатся ошибки (компиляции, времени выполнения, undefined behavior), если они есть?
char a[] = "123"; //1
char b[5] = "123"; //2
const char *c = "123"; //3
a[3] = '3'; //4
b[4] = '3'; //5
c[2] = '5'; //6
Что обозначается ключевым словом catch?
Что обозначается ключевым словом catch?
Пусть имеется система в которой int занимает 4 байта, а char занимает 1 байт. Будет ли отличаться (i2 - i1) от (c2 - c1) в фрагменте кода ниже.
int a[10];
int* i1 = &a[4];
int* i2 = &a[6];
char* c1 = (char*)i1;
char* c2 = (char*)i2;
Пусть имеется система в которой int занимает 4 байта, а char занимает 1 байт. Будет ли отличаться (i2 - i1) от (c2 - c1) в фрагменте кода ниже.
int a[10];
int* i1 = &a[4];
int* i2 = &a[6];
char* c1 = (char*)i1;
char* c2 = (char*)i2;
Что будет выведенно на экранн в результате работы данной программы?
#include <iostream>
template <class T>
void f(T)
{
std::cout<<"base ";
}
template <>
void f<int>(int)
{
std::cout<<"int ";
}
template <>
void f<long>(long)
{
std::cout<<"long ";
}
int main()
{
short int i = 1;
long l = 2;
f(i);
f(l);
f(i * i);
f(l * l);
}
Что будет выведенно на экранн в результате работы данной программы?
#include <iostream>
template <class T>
void f(T)
{
std::cout<<"base ";
}
template <>
void f<int>(int)
{
std::cout<<"int ";
}
template <>
void f<long>(long)
{
std::cout<<"long ";
}
int main()
{
short int i = 1;
long l = 2;
f(i);
f(l);
f(i * i);
f(l * l);
}
Что будет выведено на экран?
#include <iostream>
int main(int argc, char* argv[])
{
const int a = 1;
int* pa = const_cast<int*>(&a);
*pa = 2;
std::cout << a << *pa;
return 0;
}
Что будет выведено на экран?
#include <iostream>
int main(int argc, char* argv[])
{
const int a = 1;
int* pa = const_cast<int*>(&a);
*pa = 2;
std::cout << a << *pa;
return 0;
}
Может ли структура иметь чисто виртуальную функцию?
Может ли структура иметь чисто виртуальную функцию?
Какой модификатор доступа следует указать для члена класса, если вы хотите, чтобы член класса был доступен только самому классу и классам, наследуемым от него?
Какой модификатор доступа следует указать для члена класса, если вы хотите, чтобы член класса был доступен только самому классу и классам, наследуемым от него?
Отметьте синтаксически корректные вызовы функции:
int f(const char*, int, ...);
1)
int n = f("ABC",1,"nm",1.1);
2)
int n = f("ABC");
3)
int n = f("ABC",1,2,3);
4)
f("ABC",1);
Отметьте синтаксически корректные вызовы функции:
int f(const char*, int, ...);
1)
int n = f("ABC",1,"nm",1.1);
2)
int n = f("ABC");
3)
int n = f("ABC",1,2,3);
4)
f("ABC",1);
Что будет выведено при выполнении следующего фрагмента кода?
int x;
while(x < 100) {
cout << x << " ";
x++;
}
Что будет выведено при выполнении следующего фрагмента кода?
int x;
while(x < 100) {
cout << x << " ";
x++;
}
Существует ли в C++ разница между объявлением функции c пустыми скобками - func(), и объявлением с использованием ключевого слова void - func(void)?
Существует ли в C++ разница между объявлением функции c пустыми скобками - func(), и объявлением с использованием ключевого слова void - func(void)?
Скомпилируется ли следующий код?
int foo();
char foo();
Скомпилируется ли следующий код?
int foo();
char foo();