【问题标题】:error C2473: 'table' : looks like a function definition, but there is no parameter list. - while trying to make property?错误 C2473:“表”:看起来像函数定义,但没有参数列表。 - 在试图制造财产的同时?
【发布时间】:2016-10-27 23:43:28
【问题描述】:
class MyClass
{
string _table;
public:
MyClass(void);
virtual ~MyClass(void);
virtual MyClass load();
public:
string table
{
int get() const { return _table; }
void set(string t) { _table= t; }
}
};

我正在尝试创建一个类 MyClass,它与 C# 中的接口相对应。表应该对应一个属性。我不想使用任何宏或类似的东西。我不断从标题中得到错误。如何处理?是否可以制作这样的东西,或者我需要像这样实现:

class MyClass
{
    string _table;


public:
    MyClass(void);
    virtual ~MyClass(void);
    virtual MyClass load();
public:

        string getTable() { return _table; }
        void setTable(string t) { _table = t; }
    }

我试着按照这篇文章去做:here 而且我需要稍后覆盖 getTable 和 setTable。

【问题讨论】:

  • 那篇文章没有声称它是 C++ 中的有效语法。这只是编造的。请考虑阅读整篇文章,其中他解释了为什么 C# 风格的属性在 C++ 中甚至不是必需的。 (另外,这不是“接口”。C++ 中的 C# 接口等价物是具有一个或多个抽象虚函数的抽象类。)
  • @CodyGray 您能否将我的代码重写为抽象虚函数的示例?我很难得到它。
  • en.wikibooks.org/wiki/C%2B%2B_Programming/Classes/… 同样,这与属性无关(这就是那篇文章所说的)。接口是不能实例化的类,只能继承自。

标签: c# c++ properties interface


【解决方案1】:

错误信息是正确的。继续你的第二个实现。

【讨论】:

    猜你喜欢
    • 2013-10-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多