我在C++中使用VS2022, 我来自 Java 的土地,如果我要扩展抽象类,IDE 会建议我必须实现的所有方法。
我想在 C++ 中使用虚拟父对象做同样的事情。
EX: (java) - 在 Eclipse 中它就像魔法一样工作
abstract class Person {
abstract public String greet();
public void setName(String name){this.name = name;}
protected String name;
}
class Italian extends Person{
public String greet(){ return "Ciao, mi chiamo "+ name; }
}
class Brit extends Person{
public String greet(){ return "Hello, I'm "+ name; }
}
class German extends Person{
/* HINT BY THE IDE ASKING ME TO IMPLEMENT THE METHOD GREET*/
}
在 MSVS 中的 C++ 中
//World.h
#pragma once
class Person{
protected:
std::string m_name;
public:
//method marked as need implementation
virtual std::string greet() = 0;
void setName(const std::string& name){ m_name=name;}
}
class Italian : Person{
std::string greet(){ return "Ciao, mi chiamo "+m_name}
}
class Brit : Person{
std::string greet(){ return "Hi, I'm "+m_name; }
}
class German : Person{
/* the intellisense suggest me adding a constructor but not to implement the greet() method*/
}
我如何告诉 VisualStudio 提示我添加方法实现(如果可能的话添加一个空的)?
来自文档:实现纯虚拟
鼠标右键单击并选择“快速操作和重构”菜单 并选择为类“ClassName”实现所有纯虚拟 上下文菜单,其中 ClassName 是所选类的名称。