সি # তে বিকাশের জন্য বেশ কিছুটা সময় ব্যয় করে আমি লক্ষ্য করেছি যে আপনি যদি এটি কোনও ইন্টারফেস হিসাবে ব্যবহারের উদ্দেশ্যে কোনও বিমূর্ত শ্রেণির ঘোষণা করেন তবে আপনি এই বিমূর্ত শ্রেণির কোনও ভেক্টরকে বাচ্চাদের ক্লাসের উদাহরণ সংরক্ষণ করতে পারবেন না।
#pragma once
#include <iostream>
#include <vector>
using namespace std;
class IFunnyInterface
{
public:
virtual void IamFunny() = 0;
};
class FunnyImpl: IFunnyInterface
{
public:
virtual void IamFunny()
{
cout << "<INSERT JOKE HERE>";
}
};
class FunnyContainer
{
private:
std::vector <IFunnyInterface> funnyItems;
};
বিমূর্ত শ্রেণীর ভেক্টর ঘোষণাকারী লাইন এমএস ভিএস ২০০৫ এ এই ত্রুটির কারণ ঘটায়:
error C2259: 'IFunnyInterface' : cannot instantiate abstract class
আমি একটি সুস্পষ্ট কর্মক্ষেত্র দেখতে পাচ্ছি, যা নীচে IFunnyInterface প্রতিস্থাপন করবে:
class IFunnyInterface
{
public:
virtual void IamFunny()
{
throw new std::exception("not implemented");
}
};
এটি কি গ্রহণযোগ্য কাজের সি ++ বুদ্ধিমান? যদি তা না হয় তবে বুস্টের মতো কোনও তৃতীয় পক্ষের লাইব্রেরি আছে যা আমাকে এটিকে পেতে সহায়তা করতে পারে?
ইহা পড়ার জন্য আপনাকে ধন্যবাদ !
অ্যান্টনি