Может ли кто-нибудь объяснить мне этот синтаксис Microsoft MFC ! ! ! ! !
мы использовали мастера проектов Visual Studio для создания некоторых базовых графических приложений с помощью VC++.
При отладке я заметил, что родной код MFC пронизан таким синтаксисом, как этот:
derivedClass::метод()
{
базовый класс::метод();
}
Для exmaple я создал простое приложение для Windows под названием MFCApp.
Мастер естественным образом создает классы, производные от CwinAppEx, CDocument и CView, называемые CMFCAppAPP, CMFCAppDoc и CMFCAppView.
Внутри реализации этих производных классов я часто сталкиваюсь с таким кодом, как:
void CMFCAppDoc::AssertValid() const
{
CDocument::AssertValid();
}
и
void CMFCAppView::Dump(CDumpContext& dc) const
{
CView::дамп(dc);
}
Я очень озадачен этим, потому что, согласно всем книгам, которые я прочитал, и моему опыту, вы можете вызвать метод базового класса только через оператор разрешения области видимости, если и только если этот метод статичен, что во всех этих примерах, с которыми я столкнулся в коде MFC, это не так. Компилятор должен отметить ошибку компиляции C2352 ссылка на которую находится здесь:
https://docs.microsoft.com/en-us/cpp/error-messages/compiler-errors-1/compiler-error-c2352?f1url=https%3A%2F%2Fmsdn.microsoft.com%2Fquery%2Fdev15.query%3FappId%3DDev15IDEF1%26l%3DEN-US%26k%3Dk(C2352)%26rd%3Dtrue&view=vs-2017
Пожалуйста, помогите мне, потому что я очень озадачен.
Большое Спасибо, Рез
Что я уже пробовал:
Это вопрос, так что я ничего не пробовал.