Предположим, класс stringGetter содержит ровно одну чисто виртуальную функцию: перегруженный
тезис оператор, оператор строки () (int x). Также предположим, что класс getPageString является
public stringGetter, который реализует operator ().
Какое из следующих утверждений C ++ обязательно приведет к ошибке компилятора?
(a) stringGetter * a = new stringGetter;
(b) stringGetter * a = new getPageString;
(c) stringGetter * a;
getPageString * b = new getPageString;
a=b
(d) Exactly two of these will result in a compiler error.
(e) It is possible that none of these will result in a compiler error.
Я немного размышляю об абстрактных базовых классах и не могу найти в Интернете хороших примеров, которые выполняют задания, подобные приведенным ниже. Мне нравится задавать здесь вопросы о таких вещах, так как я часто узнаю больше о вещах, которые я даже не собирался изучать. Я даже не могу догадаться, что из этого может вызвать ошибку компилятора. Может кто-нибудь пройти через a-c и сказать мне, почему или почему это не вызвало бы ошибку компилятора?