تمام سوالات سوالات بدون پاسخ سوال بپرسید

در ++C کلاس abstract ی تعریف کرده ام که نقش یک واسط (interface) را بازی می کند و کلاس های دیگر از آن ارث برده و در واقع آن واسط را پیاده سازی می کنند. حالا می خواهم یک vector از این واسط داشته باشم تا نوع های مختلفی از کلاس هایی که آنرا پشتیبانی می کنند در آن نگهداری کنم. نمونه کد من به این صورت است:

class CommandInfo
{
public:
    CommandInfo(void) { }
    ~CommandInfo(void) { }

    virtual char* getCommandName() = 0;
};

class SendFileCommandInfo :
    public CommandInfo
{
public:
    SendFileCommandInfo(void);
    ~SendFileCommandInfo(void);

    char* getCommandName();

    string FullPathFileName;
    string DestBluetoothName;
};

و این هم کد نمونه برای vector مورد نظر:

vector<CommandInfo> m_IncommingCommands;

اما با خطای زیر مواجه می شوم:

error C2259: 'CommandInfo' : cannot instantiate abstract class

فراموش کردم بگم که من از Visual Studio 2010 استفاده می کنم. حالا به نظر شما باید چه کار کنم و آیا چنین کاری اصلاً در ++C انجام شدنی هست یا خیر؟ ممنون

آموزش زبان برنامه نویسی C#
آموزش jquery
آموزش برنامه نویسی
آموزش طراحی وبسایت
آموزش مدیریت وبسایت
آموزش جاوا Java
آموزش پایتون Python
آموزش سی شارپ C#‎
آموزش HTML و CSS
آموزش JavaScript جاوااسکریپت
آموزش jQuery جی کوئری
آموزش ساخت ربات تلگرام
آموزش برنامه‌نویسی PHP
آموزش برنامه‌نویسی اندروید
● آموزش‌های رایگان

سوالات مرتبط

راهنمای استفاده از ویرایشگر
  • *ایتالیک*‌ یا __ایتالیک__
  • **ضخیم** یا __ضخیم__
  • آدرس:[متن](http://url.com/ "عنوان")
  • عکس?![alt متن](/path/img.jpg "عنوان")
  • لیست عددی: 1. Foo 2. Bar
  • برای رفتن به خط بعد، هر جا مایلید که خط جدید شروع شود دو کاراکتر فاصله (space) قرار دهید
  • تگ‌های ساده HTML هم پشتیبانی می‌شوند

تگها:
این سوال را دنبال کنیدتوسط ایمیل: ایمیل شما (باید معتبر باشد, هرگز به دیگران نمایش داده نمیشود):

هنگامی که شما به سیستم وارد شوید،قادر خواهید بود برای بروز رسانی ها مشترک شوید.


توسط RSS:

پاسخها

پاسخها و نظرها