C++中的问题.

来源:百度知道 编辑:UC知道 时间:2024/06/24 07:16:49
C++中,不能重载的运算符有哪种?

在cppview创刊号,《c++程序的设计和演化》等等一些地方都有讨论。
这里是其中一个实现。大部分实现都是按照这个思路,细节上或者具体处理上有一些不同
#include "stdafx.h"
class NonDerivableHelper
{
NonDerivableHelper(){}
friend class NonDerivable;
};
#ifdef NDEBUG
#define FINAL_CLASS
#else
#define FINAL_CLASS : private virtual NonDerivableHelper
#endif

class NonDerivable FINAL_CLASS
{
//... some code here
};

class SomeClass : public NonDerivable
{
SomeClass(){};//编译无法通过
//...
};

int main(int argc, char* argv[])
{
return 0;
}

下面这些操作符不能重载
"&&" ,"||" , "," , "." , ".*" , "::" , "?:"
new delete sizeof typeid
sta