c++ 如何在派生类(MSVS)中自动实现纯虚方法

问题描述 投票:0回答:1

我在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 提示我添加方法实现(如果可能的话添加一个空的)?

c++ inheritance intellisense visual-studio-2022
1个回答
0
投票

来自文档:实现纯虚拟

鼠标右键单击并选择“快速操作和重构”菜单 并选择为类“ClassName”实现所有纯虚拟 上下文菜单,其中 ClassName 是所选类的名称。

© www.soinside.com 2019 - 2024. All rights reserved.