خطا در استفاده از متغیر عضو کلاس پدر در کلاس فرزند - هفت خط کد انجمن پرسش و پاسخ برنامه نویسی

خطا در استفاده از متغیر عضو کلاس پدر در کلاس فرزند

0 امتیاز

سلام.

به کد زیر دقت کنید کامپایلر متغیر عضو (value) در کلاس پدر را نمی شناسه علت چیه؟

#include <iostream>
#include <type_traits>
using namespace std;

template<typename T>
class Base{
  public:  
  int value_;
};
template<typename T>
class Child1 : public Base<T>{
    public:
};

template<typename T>
class Child2 : public Child1<T>{
    public:
    void test(){
        cout << value_ << endl;
    }
};

int main()
{
   Child2<int> c;
   c.test();

    return 0;
}

خطای مربوطه:

error: ‘value_’ was not declared in this scope

سوال شده خرداد 14, 1398  بوسیله ی Alias (امتیاز 302)   3 24 31

1 پاسخ

+1 امتیاز
 
بهترین پاسخ

پیداش کردم .برای دسترسی به متغیر های عضو کلاس پایه از this استفاده کنید به صورت زیر:

cout << this->value_ << endl;

 

پاسخ داده شده خرداد 15, 1398 بوسیله ی Alias (امتیاز 302)   3 24 31
انتخاب شد تیر 9, 1399 بوسیله ی farnoosh
...