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

کلاس با متد variadic با پارامتر سفارشی شده

0 امتیاز

سلام. 

فرض کنید:

کلاس پایه ی به صورت جنریک داریم و این کلاس متدی به نام get داره که این متد n تا پارامتر از نوع یکسان را دریافت می کنه.

کلاس های فرزند هر کدام نوع این پارامتر را مشخص می کنند به فرض کلاس فرزند ۱ نوع int و کلاس فرزند ۲ نوع string را مشخص می کنه دنبال پیاده سازی این موضوع هستم.

template<typename T>
class Base{
public:
   void get(...){
   }
};

class child1 : public Child1<int>{

public:
};

class child1 : public Child1<std::string>{
public:
};

 

سوال شده مرداد 1, 1399  بوسیله ی AliStar (امتیاز 164)   2 20 32

1 پاسخ

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

به این صورت:

#include <iostream>
using namespace std;
 
 template<typename T>
 class Base{
     public:
     template < typename... Args>
     void get(T t, Args... args){
            std::cout << t <<std::endl ;

    get(args...) ;
     }
    
     void get(T t){
         std::cout << t << std::endl ;
     }
     
 };
class Child1 : public Base<int>{
    
};
class Child2 : public Base<std::string>{
    
};
int main()
{
    Child1 c1;
    c1.get(1,2);
 
   Child2 c2;
    c2.get("A","B");
}

 

پاسخ داده شده مرداد 1, 1399 بوسیله ی toopak (امتیاز 2,458)   16 48 66
انتخاب شد مرداد 9, 1399 بوسیله ی AliStar
...