Примерный список вопросов по С++
1. Может ли класс иметь два метода с одинаковым именем? Два конструктора?
2. Что такое this? Где можно использовать это слово?
3. В чем отличие между delete и delete[]?
4. Что такое конструктор копирования?
5. Рассмотрим следующий фрагмент кода
class X;
void f(X obj) {
...
}
...
main() {
X obj;
f(obj); // <------
}
Какие функции будут вызваны при выполнении выделенной строчки?
6. Какие функции и сколько раз будут вызваны при выполнении следующего фрагмента (ответ по строчкам):
class X;
X *p1 = new X(100);
X *p2 = new X[100];
delete[] p2;
7. В каком случае вызывается деструктор?
8. При каком условии функция, которая не является методом класса, может обращаться к полям класса?
9. В чем отличие объявлений
void f(X obj) { .... }
void f(X *obj) { ... }
void f(const X& obj) { ... }?
10. Является ли следующий фрагмент программы синтаксически корректным? Если нет, то в чем ошибки?
class X { int k; };
int f(const X& obj) {
obj->k = 0;
return obj.k;
}
11. Если переменная объявлена в теле цикла, то сколько раз для нее вызывается конструктор?