c_cpp C ++ Setter Getter宏

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c_cpp C ++ Setter Getter宏相关的知识,希望对你有一定的参考价值。

//--------------------------------------------------
#define SetMacro(name,type)								\
void Set##name (type _arg)								\
{														\
  if (this->name != _arg)								\
	{													\
		this->name = _arg;								\
	}													\
} 
//--------------------------------------------------
#define GetMacro(name,type)								\
type Get##name ()const									\
{														\
	return this->name;									\
} 
//--------------------------------------------------
#define SetGetMacro(name,type)							\
void Set##name (type _arg)								\
{														\
  if (this->name != _arg)								\
	{													\
		this->name = _arg;								\
	}													\
}														\
type Get##name ()const									\
{														\
	return this->name;									\
}
//--------------------------------------------------
#define BooleanMacro(name,type)							\
void name##On ()										\
{														\
	if(this->name != static_cast<type>(1))				\
	{													\
		this->name = static_cast<type>(1);				\
	}													\
}														\
void name##Off ()										\
{														\
	if(this->name != static_cast<type>(0))				\
	{													\
		this->name = static_cast<type>(0);				\
	}													\
}														\
type Is##name##On()										\
{														\
	return this->name;									\
}
//--------------------------------------------------
#define BooleanSetGetMacro(name,type)					\
void Set##name (type _arg)								\
{														\
  if (this->name != _arg)								\
	{													\
		this->name = _arg;								\
	}													\
}														\
type Get##name ()const									\
{														\
	return this->name;									\
}														\
void name##On ()										\
{														\
	if(this->name != static_cast<type>(1))				\
	{													\
		this->name = static_cast<type>(1);				\
	}													\
}														\
void name##Off ()										\
{														\
	if(this->name != static_cast<type>(0))				\
	{													\
		this->name = static_cast<type>(0);				\
	}													\
}														\
type Is##name##On()										\
{														\
	return this->name;									\
}

以上是关于c_cpp C ++ Setter Getter宏的主要内容,如果未能解决你的问题,请参考以下文章

C ++:私有结构的每个单个成员的通用getter/setter

c ++中的getter/setter是正确的方法吗?

什么是getter和setter方法

Object C 属性、特性、类型

C++ getter 和 setter 最佳风格

C#自定义getter / setter没有私有变量