关于C++中继承出现的问题

#include
class Drink {
public:
virtual void buy();
virtual std::string getname();
virtual int getprice();
};

#include"Drink.cpp"
class tea :public Drink {
public:
void buy() {
}
tea() :name("tea"), price(3) {};
std::string getname() const{
return name;
}
int getprice() const{
return price;
}
private:
std::string name;
int price;
};

总提示我使用了未定义类型Drink,这怎么解决啊?

把两个写在一个cpp文件里还报错么?main函数在哪里定义的?

你没有声明Drink.h么 ,为啥include “Drink.cpp”

 class Drink 
{
public:
    void buy();
    std::string getname();
    int getprice();
};
class tea :public Drink 
{
public:
    void buy() 
    {
    }
    tea() :name("tea"), price(3) {};
    std::string getname() const
    {
        return name;
    }
    int getprice() const
    {
        return price;
    }
private:
    std::string name;
    int price;
};


int main()
{
    tea T;
    T.getname();

    return 0;
}