【发布时间】: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