игра брюс 2048
Главная / Программирование / Программирование на языке C++ / Тест 5

Программирование на языке C++ - тест 5

Упражнение 1:
Номер 1
Основные особенности объективно-ориентированного языка (выберите наиболее точный ответ):

Ответ:

 (1) множественное наследование и полиморфизм. 

 (2) абстрактные типы данных и сохранение состояний. 

 (3) перегрузка операций и обработка исключений. 

 (4) инкапсуляция, наследование, полиморфизм. 


Номер 2
Выберите правильные утверждения (одно или более).
Технология ООП по сравнению с традиционной позволяет создавать:

Ответ:

 (1) более читабельные программы 

 (2) более быстродействующие программы 

 (3) программы, допускающие более простую модификацию 

 (4) более короткие программы 


Номер 3
Выберите правильные утверждения (одно или более).
Упрощение структуры программы всегда приводит 

Ответ:

 (1) к уменьшению количества повторяющихся фрагментов 

 (2) к увеличению ее быстродействия 

 (3) к облегчению ее отладки 

 (4) к увеличению количества классов 


Упражнение 2:
Номер 1
Выберите правильные утверждения (одно или более).
Инкапсуляция - это: 

Ответ:

 (1) возможность называть одним и тем же именем разные подпрограммы 

 (2) объединение в одном классе данных и методов их обработки 

 (3) создание иерархии объектов 

 (4) сокрытие деталей реализации 


Номер 2
Выберите правильные утверждения (одно или более).
Преимуществами ООП являются:

Ответ:

 (1) возможность использования в новых программах ранее созданных объектов 

 (2) увеличение быстродействия программы 

 (3) простота использования 

 (4) легкость внесения изменений в программу 


Номер 3
Выберите правильные утверждения (одно или более).
Недостатками ООП являются:

Ответ:

 (1) большой объем информации, необходимый для грамотного применения ООП 

 (2) локализация свойств и поведения объекта о одном месте 

 (3) возможное уменьшение быстродействия программы за счет виртуальных методов 

 (4) избыточный код программы 


Номер 4
Выберите правильные утверждения (одно или более).
Инкапсуляция приводит к 

Ответ:

 (1) упрощению структуры программы 

 (2) уменьшению степени абстракции программы 

 (3) упрощению поиска ошибок 

 (4) упрощению внесения изменений в программу 


Упражнение 3:
Номер 1
Какое свойство ООП позволяет скрыть от других частей программы детали реализации объекта?

Ответ:

 (1) инкапсуляция 

 (2) наследование 

 (3) полиморфизм 

 (4) абстрагирование 


Номер 2
Какое свойство ООП позволяет единообразно обращаться с разными объектами одной иерархии? 

Ответ:

 (1) инкапсуляция 

 (2) абстрагирование 

 (3) наследование 

 (4) полиморфизм 


Упражнение 4:
Номер 1
Что обычно содержит класс?

Ответ:

 (1) данные и информацию о них 

 (2) данные и методы 

 (3) массивы данных 

 (4) массивы методов 


Номер 2
Класс может наследовать от родительского класса:

Ответ:

 (1) только данные 

 (2) только методы 

 (3) данные и методы 


Номер 3
Выберите правильное продолжение.
Проект так относится к зданию, как класс к ...

Ответ:

 (1) абстрактному типу данных 

 (2) экземпляру 

 (3) интерфейсу 

 (4) подклассу 


Номер 4
Выберите наиболее подходящий ответ. В объектно-ориентированной программе объекты обмениваются между собой

Ответ:

 (1) данными 

 (2) методами 

 (3) сообщениями 

 (4) информацией 


Упражнение 5:
Номер 1
Стиль ООП рекомендует объявлять поля объектов  

Ответ:

 (1) с директивой private  

 (2) с директивой public  

 (3) без директив 

 (4) с директивой local  

 (5) с директивой global  


Номер 2
Могут ли совпадать имена параметров метода и имена полей объекта?

Ответ:

 (1) да 

 (2) нет 

 (3) могут, если они имеют одинаковый смысл 

 (4) могут, если их предварительно описать 


Номер 3
При описании метода перед его именем указывается 

Ответ:

 (1) имя типа объекта 

 (2) имя экземпляра объекта 

 (3) имя поля объекта 

 (4) имя объекта-предка 

 (5) ничего не указывается 


Упражнение 6:
Номер 1
Выберите правильные утверждения.
Действие директивы private распространяется  

Ответ:

 (1) до другой директивы 

 (2) до директивы public  

 (3) до конца файла 

 (4) до начала описания следующего поля 


Номер 2
Выберите все правильные утверждения. Директива private запрещает доступ к элементам объекта  

Ответ:

 (1) из других объектов в том же файле 

 (2) только из других файлов 

 (3) из методов этого объекта 

 (4) из методов других объектов 

 (5) из методов объектов-наследников 


Номер 3
По умолчанию все поля и методы класса являются 

Ответ:

 (1) public  

 (2) private  

 (3) local  

 (4) global  

 (5) protected  


Упражнение 7:
Номер 1
Применение директивы private позволяет 

Ответ:

 (1) уменьшить количество возможных ошибок 

 (2) сократить текст программы 

 (3) упростить отладку программы 

 (4) уменьшить объем программы в оперативной памяти 


Номер 2
Стиль ООП рекомендует объявлять методы с директивой 

Ответ:

 (1) с директивой private  

 (2) с директивой public  

 (3) без директив 

 (4) с директивой local  

 (5) с директивой global  


Упражнение 8:
Номер 1
В каком месте приведенного ниже класса следует инициализировать переменную I?  

class Foo { 
    const int I; 
    static void Init(int x); 
    void Setup(int x = 0) const; 
public: 
    Foo(int x = 0); 
};  

Ответ:

 (1) в списке инициализации конструктора. 

 (2) внутри константного метода Setup

 (3) в теле конструктора. 

 (4) внутри статического метода Init

 (5) внутри функции 'main'. 


Номер 2
Что неверно при инициализации 'y' в приведенном ниже коде?  

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

Ответ:

 (1) это неверно, потому что SomeClass не содержит public конструктора копирования. 

 (2) это неверно, потому что SomeClass не содержит виртуального деструктора. 

 (3) это неверно, потому что SomeClass не содержит конструктора по умолчанию. 

 (4) здесь нет ничего неверного. С инициализацией 'y' все в порядке. 

 (5) это неверно, потому что SomeClass не содержит конструктора копирования. 


Номер 3
Какое определение правильно описывает класс со статическим полем и правильно инициализирует его?

Ответ:

 (1) class bad {static int I;}; int bad::I=99; 

 (2) class bad {static I;}; int bad:I=99; 

 (3) class bad {int I=99;}; int bad::I=99; 

 (4) class bad {static int I = 99;}; 

 (5) class bad {static int I=99;}; int I::bad=99; 


Упражнение 9:
Номер 1
Какие из следующих утверждений верные?

Ответ:

 (1) константный метод объявляется с ключевым словом const после списка параметров. 

 (2) константный метод может изменять значения полей класса. 

 (3) константный метод может вызывать любые методы класса. 

 (4) константный метод может вызываться только для константных объектов. 

 (5) константный метод может изменять значения константных полей класса. 


Номер 2
Какие из следующих утверждений верные?

Ответ:

 (1) константный метод объявляется с ключевым словом const после указания типа возвращаемого значения. 

 (2) константный метод может вызывать только константные методы. 

 (3) конструктор является примером константного метода. 

 (4) деструктор является примером константного метода. 

 (5) константный метод может вызываться из любых (не только константных) методов. 


Номер 3
Какие из следующих утверждений верные?

Ответ:

 (1) константный метод объявляется с ключевым словом const перед указанием типа возвращаемого значения. 

 (2) константный метод не может изменять значения полей класса. 

 (3) константный метод может вызываться для любых (не только константных) объектов. 

 (4) константный метод не может вызывать константные методы класса. 

 (5) константный метод может изменять значения константных полей класса. 


Упражнение 10:
Номер 1
Какие из следующих утверждений верные?

Ответ:

 (1) константный метод объявляется с ключевым словом const перед именем метода. 

 (2) константный метод может вызываться для любых (не только константных) объектов. 

 (3) константный метод объявляется с ключевым словом const после списка параметров. 

 (4) константный метод может вызывать любые методы класса. 

 (5) в константный метод не передается указатель this


Номер 2
Какие из следующих утверждений верные?

Ответ:

 (1) константный метод объявляется с ключевым словом const перед списком параметров. 

 (2) константный метод не может изменять значения полей класса. 

 (3) константный метод не может вызывать любые другие методы класса. 

 (4) константный метод может вызываться для любых (не только константных) объектов. 

 (5) в константный метод неявно передается указатель this


Номер 3
Какая операция используется для доступа к открытым полям объекта?  

Ответ:

 (1) операция -> 

 (2) операция . 

 (3) операция ,  

 (4) операция ::  

 (5) операция .*  


Упражнение 11:
Номер 1
Какая операция используется для доступа к открытым полям объекта через указатель на объект?  

Ответ:

 (1) операция -> 

 (2) операция . 

 (3) операция ,  

 (4) операция ::  

 (5) операция .*  


Номер 2
Что можно сказать о приведенном примере?>

#include <iostream.h>
class A{
int x;
public:
A(int y){x = y;}
};
int main(){
 A a(3);
 cout << a.x << endl;
 return 0;
}

Ответ:

 (1) программа будет работать нормально. 

 (2) при компиляции программы возникнет ошибка. 

 (3) программа будет компилироваться, но не будет компоноваться. 

 (4) при выполнении программы возникнет ошибка. 


Номер 3
Что можно сказать о приведенном примере?

#include <iostream.h>
class A{
int x;
public:
A(int y){x = y;}
};
int main()
{
 A a;
 cin >> a.x;
 return 0;
}

Ответ:

 (1) программа будет работать нормально. 

 (2) при компиляции программы возникнет ошибка. 

 (3) программа будет компилироваться, но не будет компоноваться. 

 (4) при выполнении программы возникнет ошибка. 


Упражнение 12:
Номер 1
Какое из следующих утверждений относительно классов и структур истинно?  

Ответ:

 (1) структура может включать в себя только простейшие типы данных (int, char и т.д.). 

 (2) структура не может иметь конструкторов и деструкторов. 

 (3) структура не может быть наследником класса. 

 (4) класс не может быть наследником структуры. 

 (5) поля структуры открыты по умолчанию. 


Номер 2
Какое из следующих утверждений относительно классов и структур истинно?  

Ответ:

 (1) структура может включать в себя только простейшие типы данных (int, char и т.д.). 

 (2) структура не может иметь конструкторов и деструкторов. 

 (3) структура не может быть наследником класса. 

 (4) поля класса закрыты по умолчанию. 

 (5) класс не может быть наследником структуры. 


Номер 3
Какое из следующих утверждений правильное? 

Ответ:

 (1) поля класса могут быть описаны с модификатором static  

 (2) поля класса могут быть описаны с модификатором auto  

 (3) поля класса могут быть описаны с модификатором register  

 (4) поля класса могут быть описаны с модификатором extern 


Упражнение 13:
Номер 1
Какие из следующих утверждений правильные? 

Ответ:

 (1) поля класса могут быть описаны с модификатором static  

 (2) поля класса могут быть описаны с модификатором const  

 (3) поля класса могут иметь тип самого класса 

 (4) поля класса не могут быть указателями на сам класс 


Номер 2
Какие из следующих утверждений правильные? 

Ответ:

 (1) поля класса могут быть описаны с модификатором extern  

 (2) поля класса могут быть описаны с модификатором auto  

 (3) поля класса не могут иметь тип самого класса 

 (4) поля класса могут быть указателями на сам класс 


Номер 3
Какие из следующих утверждений правильные? 

Ответ:

 (1) поля класса могут быть описаны с модификатором extern  

 (2) поля класса могут быть описаны с модификатором register  

 (3) поля класса не могут быть ссылками на сам класс 

 (4) поля класса могут быть указателями на сам класс 


Упражнение 14:
Номер 1
Какие из следующих утверждений верные? 

Ответ:

 (1) внутри локального класса можно использовать стандартные типы 

 (2) внутри локального класса нельзя использовать статические (static) переменные 

 (3) внутри локального класса нельзя использовать внешние (extern) переменные 

 (4) внутри локального класса нельзя использовать внешние функции 

 (5) локальный класс не может иметь статических элементов 


Номер 2
Какие из следующих утверждений верные?

Ответ:

 (1) локальный класс не может иметь статических элементов 

 (2) методы локального класса могут быть описаны вне класса 

 (3) методы локального класса могут быть описаны только внутри класса 

 (4) внутри локального класса нельзя использовать элементы перечислений из области, в которой он описан 

 (5) внутри локального класса можно использовать только стандартные типы данных 


Номер 3
Какие из следующих утверждений верные?

Ответ:

 (1) внутри локального класса можно использовать внешние функции 

 (2) внутри локального класса можно использовать элементы перечислений из области, в которой он описан 

 (3) локальный класс может иметь статические элементы 

 (4) методы локального класса не могут быть описаны вне класса 


Упражнение 15:
Номер 1
Какие из следующих утверждений верные?

Ответ:

 (1) внутри локального класса нельзя использовать стандартные типы 

 (2) внутри локального класса можно использовать статические (static) переменные 

 (3) внутри локального класса можно использовать внешние (extern) переменные 

 (4) внутри локального класса нельзя использовать структурные типы 

 (5) внутри локального класса можно использовать автоматические переменные из области, в которой он описан 


Номер 2
Какие из следующих утверждений верные?

Ответ:

 (1) внутри локального класса можно использовать внешние функции 

 (2) внутри локального класса нельзя использовать стандартные типы 

 (3) внутри локального класса можно использовать статические (static) переменные 

 (4) внутри локального класса можно использовать внешние (extern) переменные 

 (5) внутри локального класса можно использовать типы данных из области, в которой он описан 


Номер 3
Почему конструктор копирования ДОЛЖЕН иметь в качестве параметра ссылку?

Ответ:

 (1) потому что иначе при передаче параметра по значению конструктор будет вызываться рекурсивно. 

 (2) потому что функция-член класса может иметь в качестве параметра только ссылку. 

 (3) потому что переменная, передаваемая по ссылке, может быть изменена. 

 (4) потому что использование ссылки дает более эффективный код. 


Упражнение 16:
Номер 1
Какие из следующих утверждений неверные?

Ответ:

 (1) конструкторы глобальных объектов вызываются до вызова функции main

 (2) локальные объекты создаются, как только становится активной область их действия. 

 (3) возможно получение указателя на конструктор. 

 (4) конструктор запускается при создании временного объекта. 


Номер 2
Какие из следующих утверждений верные?

Ответ:

 (1) локальные объекты создаются до вызова функции main

 (2) класс может иметь только один конструктор. 

 (3) класс может иметь несколько конструкторов. 

 (4) конструкторы глобальных объектов вызываются при компиляции программы. 


Номер 3
Какие из следующих утверждений неверные?

Ответ:

 (1) конструктор возвращает значение типа void

 (2) класс может иметь несколько конструкторов с разными параметрами для разных видов инициализации. 

 (3) конструктор не может иметь параметров. 

 (4) нельзя получить указатель на конструктор. 


Упражнение 17:
Номер 1
Какое из следующих утверждений верное?

Ответ:

 (1) конструктор не возвращает значение. 

 (2) конструктор возвращает значение типа void

 (3) конструкторы наследуются. 

 (4) в конструкторах нельзя задавать значения параметров по умолчанию. 


Номер 2
Какие из следующих утверждений неверные?

Ответ:

 (1) конструкторы наследуются. 

 (2) конструкторы нельзя описывать с модификатором const

 (3) конструкторы нельзя описывать с модификатором virtual

 (4) конструкторы нельзя описывать с модификатором static


Номер 3
Какие из следующих утверждений неверные? 

Ответ:

 (1) класс может иметь несколько конструкторов с разными параметрами для разных видов инициализации. 

 (2) конструктор, вызываемый без параметров, называется конструктором по умолчанию. 

 (3) параметры конструктора могут иметь любой тип, кроме этого же класса. 

 (4) конструктор не может выбросить исключение. 


Упражнение 18:
Номер 1
Какой конструктор вызывается при описании нового объекта с инициализацией другим объектом этого же типа?

Ответ:

 (1) конструктор по умолчанию. 

 (2) конструктор копирования. 

 (3) конструктор с параметром-объектом. 

 (4) в этом случае никакой конструктор не вызывается. 


Номер 2
Какой конструктор вызывается при выполнении операции присваивания между существующими объектами одного типа?

Ответ:

 (1) конструктор по умолчанию. 

 (2) конструктор копирования. 

 (3) конструктор с параметром-объектом. 

 (4) в этом случае никакой конструктор не вызывается. 


Номер 3
Выберите правильные варианты продолжения.
Конструктор копирования вызывается при ...

Ответ:

 (1) при передаче объекта в функцию по ссылке 

 (2) описании нового объекта с инициализацией другим объектом 

 (3) передаче объекта в функцию по значению 

 (4) возврате адреса объекта из функции 


Номер 4
Выберите правильные варианты продолжения.
Конструктор копирования вызывается при ...

Ответ:

 (1) описании нового объекта с инициализацией другим объектом 

 (2) передаче объекта в функцию через указатель 

 (3) возврате объекта из функции 

 (4) выполнении операции присваивания 


Упражнение 19:
Номер 1
Выберите правильные утверждения.

Ответ:

 (1) при перегрузке операций не сохраняется количество аргументов используемые в стандартных типах данных. 

 (2) при перегрузке операций сохраняются приоритеты операций, используемые в стандартных типах данных. 

 (3) при перегрузке операций сохраняются правила ассоциации, используемые в стандартных типах данных. 

 (4) при перегрузке операции внутри класса первый операнд может быть любого типа. 


Номер 2
Выберите правильные утверждения.

Ответ:

 (1) для стандартных типов данных переопределять операции нельзя. 

 (2) функции-операции могут иметь аргументы по умолчанию. 

 (3) любые функции-операции не наследуются. 

 (4) функции-операции не могут определяться как static


Номер 3
Какая из следующих операций может быть перегружена в классе? 

Ответ:

 (1) .*  

 (2)

 (3) ::  

 (4) ?:  

 (5) ->* 


Упражнение 20:
Номер 1
Какая из следующих операций не может быть перегружена в классе? 

Ответ:

 (1)

 (2)

 (3) -  

 (4) .* 

 (5)


Номер 3
Какая из следующих операций при перегрузке в классе не должна иметь возвращаемое значение того же типа, что и сам класс?

Ответ:

 (1)

 (2)

 (3)

 (4) =  


Упражнение 21:
Номер 1
Какая из следующих операций при перегрузке в классе не должна иметь возвращаемое значение того же типа, что и сам класс?

Ответ:

 (1) * = 

 (2) - = 

 (3) + = 

 (4) = = 


Номер 2
Какая из следующих операций при перегрузке в классе не должна иметь возвращаемое значение того же типа, что и сам класс?

Ответ:

 (1)

 (2)

 (3) += 

 (4) <= 


Номер 3
Какая из следующих операций при перегрузке в классе не должна иметь возвращаемое значение того же типа, что и сам класс?

Ответ:

 (1) ! = 

 (2) * = 

 (3) + = 

 (4) - = 


Упражнение 22:
Номер 1
Какие из следующих операций при перегрузке в классе не должны иметь возвращаемое значение того же типа, что и сам класс?

Ответ:

 (1) ! = 

 (2) * = 

 (3) < = 

 (4) - = 


Номер 2
Какая из следующих операций не может быть перегружена?

Ответ:

 (1)

 (2)

 (3) ?: 

 (4)


Номер 3
Какая из следующих операций не может быть перегружена?

Ответ:

 (1)

 (2)

 (3)

 (4) *= 


Номер 4
Какая из следующих операций не может быть перегружена?

Ответ:

 (1)

 (2)

 (3) sizeof 

 (4) >= 


Упражнение 23:
Номер 1
Какие из следующих утверждений неверные?

Ответ:

 (1) деструктор не имеет параметров. 

 (2) класс может иметь несколько деструкторов с различными именами. 

 (3) деструктор не имеет возвращаемого значения. 

 (4) деструктор не может быть объявлен как const

 (5) деструктор может быть объявлен как static


Номер 2
Какие из следующих утверждений верные?

Ответ:

 (1) деструктор наследуется. 

 (2) деструктор может быть виртуальным. 

 (3) деструктор может быть вызван из программы. 

 (4) класс может иметь несколько деструкторов с различными именами. 

 (5) деструктор может иметь только один параметр. 


Номер 3
При компиляции следующего примера возникает ошибка. Чтобы ее исправить, необходимо ...

class Foo{
int x;
public: Foo(int i){}
};
class Bar: virtual Foo{
public: Bar(){}
};
Bar b;

Ответ:

 (1) добавить конструктор класса "Bar" который получает параметр типа int 

 (2) добавить вызов "Foo()" к конструктору класса "Bar" 

 (3) добавить вызов "Foo(0)" к конструктору класса "Bar" 

 (4) добавить виртуальный деструктор для класса "Bar" 

 (5) добавить конструктор копирования для класса "Foo" 


Упражнение 24:
Номер 1
Выберите неверное утверждение.

Ответ:

 (1) дружественная функция объявляется внутри класса, к элементам которого ей нужен доступ, с ключевым словом friend

 (2) в качестве параметра дружественной функции должен передаваться объект класса. 

 (3) одна функция может быть дружественной сразу нескольким классами. 

 (4) на дружественную функцию распространяется действие спецификаторов доступа. 


Номер 2
Выберите неверное утверждение.

Ответ:

 (1) дружественная функция объявляется внутри класса, к элементам которого ей нужен доступ, с ключевым словом friend

 (2) в качестве параметра ей должна передаваться ссылка на объект класса. 

 (3) дружественной функции передается указатель this

 (4) дружественная функция может быть обычной функцией. 

 (5) дружественная функция может быть методом другого, ранее определенного класса. 


Номер 3
Какое из следующих утверждений НЕПРАВИЛЬНОЕ?  

Ответ:

 (1) вы можете определить дружественную функцию и дружественный класс. 

 (2) если класс А является дружественным для класса B, то класс A имеет доступ ко всем закрытым полям и методам класса В. 

 (3) если класс А является дружественным для класса B и класс С - потомок B, то класс A является дружественным для C

 (4) если класс А является дружественным для класса B, это не означает, что класс B является дружественным для A


Упражнение 25:
Номер 1
Какая переменная доступна только в методе, где она объявлена?

Ответ:

 (1) переменная - член 

 (2) локальная переменная 

 (3) переменная класса 

 (4) внешняя переменная 


Номер 2
Выберите правильное продолжение.
Возможность иметь в одном классе несколько методов с одним именем это.

Ответ:

 (1) Overriding (переопределение) 

 (2) Overloading (перегрузка) 

 (3) Inheritance (наследование) 

 (4) Еncapsulation (инкапсуляция) 


Номер 3
Какой из операторов нужно использовать для того, чтобы инициализировать значение p адресом объекта ob для приведенного ниже кода?  

class myclass 
{ 
int a;
public: 
  myclass(int x); 
}; 
myclass::myclass(int x) { a = x;} 
int main() 
{ 
  myclass ob(120); 
  myclass *p; 
  return 0; 
} 

Ответ:

 (1) *p = myclass *ob; 

 (2) *p = *ob; 

 (3) p = &ob; 

 (4) p = *ob; 

 (5) p = ob; 


Упражнение 26:
Номер 1
В чем, кроме имени, различие между методами "f1()" и "f2()" в приведенном ниже коде?  

struct Foo 
{ 
    int f1() { 
        return 0; 
    } 
    int f2(); 
}; 
int Foo::f2() { 
    return 0; 
};  

Ответ:

 (1) f1() - это встроенная функция. 

 (2) f1() - это статическая функция. 

 (3) f2() - это встроенная функция. 

 (4) f2() - это статическая функция. 

 (5) f2() - private


Номер 2
Для приведенного ниже кода при вызове функции Func программа аварийно завершается. В чем причина ошибки?  

class Foo 
{ 
    char *buf; 
public: 
    Foo(char *b = "default") { 
        buf = new char[strlen(b) + 1]; 
        strcpy(buf, b); 
    } 
    ~Foo() { 
        delete[] buf; 
    } 
}; 
Foo Func(Foo f) { 
   return f; 
}

Ответ:

 (1) значение конструктора по умолчанию имеет тип char*

 (2) функция должна возвращать Foo& (ссылку). 

 (3) требуется переопределить операцию =. 

 (4) выделяется недостаточный объем памяти. 

 (5) в классе отсутствует конструктор копирования. 


Номер 3
Выберите правильный вызов функции-члена класса С через указатель "pmfn"

class Class1 
{ 
public: 
    void func(); 
}; 
void (Class1::*pmfn)() = &Class1::func; 
Class1 *c; 

Ответ:

 (1) c->pmfn(); 

 (2) (c.*pmfn)(); 

 (3) c.*pmfn(); 

 (4) c->*pmfn(); 

 (5) (c->*pmfn)(); 




Главная / Программирование / Программирование на языке C++ / Тест 5