25
A
回答
8
C++0x将具有此功能,您可以在其中明确指定成员函数是否意图覆盖基类的函数,使用由编译器生成的默认实现等等。
1
有C++ 0x,它有覆盖'注释'。或者,如果你想实现更多的Java的“接口”之类代码的错误如果不实现方法,你可以使用一个抽象类:
class Base {
public:
virtual void foo() = 0;
};
class Extended : public Base {
public:
void foo2() {
cout << "hi" << endl;
};
int main() {
Extended e;
e.foo();
}
这将导致如果一个编译器错误不要在基类中重写foo。但是,这个问题是基类不能拥有它自己的实现。
0
此语言中没有任何内容。你所希望的最好的是编译器特定的选项。我将首先检查编译器的“编译指示”文档。
16
C++ 11为“通用属性”提供了支持,它可以被看作是Java注释的超集,因为它们可以仅用于变量/函数,也可以用于语句。但是C++ 11仅为通用属性定义了语法,而不是由用户定义它们。
本文给出了广义的属性很好的概述:http://www.codesynthesis.com/~boris/blog/2012/04/18/cxx11-generalized-attributes/
GCC支持从4.8版本的功能,根据http://gcc.gnu.org/projects/cxx0x.html
要实现对用户定义的属性支持,编译器插件是有希望的,特别是基于高级语言集成,如https://fedorahosted.org/gcc-python-plugin/
既然C++ 11已经发布了,那么是否有任何描述此功能的文档? – 2012-10-05 20:36:28
另外,您指的是哪个功能? – 2012-10-05 20:44:26