-6

テンプレートを使用する 3 つのクラスと、抽象基本クラスの 2 つのクラスがあります。私main()はポリモーフィズムの概念を適用していますが、基本クラスへのポインターから、派生クラスのオブジェクトは初期化されていません。コードのどこに問題があるのか​​ わかりません。

#include<iostream>
#include<conio.h>
using namespace std;

template<class T>
class polygon
{
protected:
    T a,b;
public:
    virtual T area()=0
}

template<class T>
class rectangle:public polygon
{

public:
    rectangle(T c,T d)
    {
        a=c;
        b=d;
    }
    T area()
    {
        return (a*b);
    }
};

template<class T>
class triangle:public polygon
{

public:
    rectangle(T c,T d)
    {
        a=c;
        b=d;
    }
    T area()
    {
        return (.5*a*b);
    }
};

template<class T>
class rectangle
{

public:
    rectangle(T c,T d)
    {
        a=c;
        b=d;
    }
    T area()
    {
        return (a*b);
    }
};
void main (void)
{

polygon<float>*ppoly=new rectangle<float>(4,5);
cout<<ppoly->area();
getche();

}
4

2 に答える 2