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

ارسال کلاس جنریک به کلاس دیگر بدون پارامتر

0 امتیاز

سلام به همگی.

نمی دونم کاری که قصد دارم انجام بدم را چطور توضیح بدم.فرض کنید کلاسی به نام MyClass وجود داره و این کلاس قرار با هر نوع کانتینری که کاربر تعیین کنه قرار کار کنه .از آنجاییی که بخوام مثلا دو کانتینر std::vector و std::list را پاس بدم و بعد از آن داخل کلاس بتونم  container موردنظر را با انواع داده ای استفاده کنم

class MyClass{
public:
  Container<int> cont_int;
  Container<float> cont_float;
};

MyClass<std::vector> a;

 

سوال شده مرداد 26, 1398  بوسیله ی ابید (امتیاز 781)   19 90 106
ویرایش شده مرداد 26, 1398 بوسیله ی مصطفی ساتکی

1 پاسخ

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

سلام. کانتینر رو باید از نوع Template Template Parameters تعریف کنی. به صورت زیر:

template<template <typename T> class Container>
class MyClass{
public:
	Cont<int> cont_int;
	Cont<float> cont_float;
};

 

پاسخ داده شده مرداد 26, 1398 بوسیله ی مصطفی ساتکی (امتیاز 21,998)   24 34 75
انتخاب شد مرداد 29, 1398 بوسیله ی ابید
...