operators5.c

来自「gcc-you can use this code to learn somet」· C语言 代码 · 共 53 行

C
53
字号
// GROUPS passed operators// Check that operators may be (directly) recursive.extern "C" int printf (const char *, ...); struct base {	int i;};base base_variable;base operator+ (const base& left, const base& right){	base ret_val;	ret_val.i = left.i + right.i;	return ret_val;}base operator- (const base& left, int right){	base ret_val;	ret_val.i = left.i - right;	return ret_val;}// Define the unary ! operator for class base to be the fibonachi// operator.base operator! (const base& right){	if (right.i < 2)		return right;	else		return ((!(right-1)) + (!(right-2)));}int main (){	base k;	k.i = 15;	k = !k;		// fib it!	if (k.i != 610)	  { printf ("FAIL\n"); return 1; }	else	  printf ("PASS\n");	return 0;}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?