Как мне решить эту проблему, я не могу получить правильный ответ..?
#include <iostream> using namespace std; class A { int n; protected: A(int i) : n(i) { } virtual int get() = 0; virtual void print() = 0; }; int A::get() { return n; } class B : private A { protected: _ _ _ _1st _ _ _ _ // Define the constructor to initialize A::n _ _ _ _ _2nd _ _ _// Override get() function to return A::n }; class C : public B { public: C(int i) : B(i) {} void print() { cout << get() << endl; } }; int main(){ int n; cin >> n; C *p = new C(n); p->print(); return 0; }
Что я уже пробовал:
В 1-м бланке я сталкиваюсь с проблемой, как определить конструктор для инициализации...
В то время как во 2-м бланке он просит переопределить get func,на мой взгляд, независимо от get func в базовом классе,просто это будет скопировано так же, как и в базовом классе