新浪博客

c++语法待研

2022-10-20 13:04阅读:
遇到编译警告:
changes meaning of 'Scorer' from class 'Scorer'。
参考:
/questions/282800/c-odd-compile-error-error-changes-meaning-of-object-from-class-object
可以看到写代码时,一些取成员变量的函数常常是:
Player * Player() const;
这种形式,看来一定程度上不算是好风格。
纯虚析构函数
一个类如果定义了纯虚析构函数,则必须有该析构函数的定义才能编译通过。例如
class BaseA {
public:
virtual ~BaseA() = 0;
}
class SubA : public BaseA {
public:
~SubA() {...}
}
是编译不过的,需要增加~BaseA()的实现:
BaseA::~BaseA() { .. }
/questions/1666802/is-there-a-class-macro-in-c
一种实现__CLASS__的方法:(需要c++11)
#define __CLASS__ std::remove_reference::type
template T& classMacroImpl(const T* t);

我的更多文章

下载客户端阅读体验更佳

APP专享