一个例子解释C++ 宏的作用
2013-02-10 21:15
162 查看
首先建立一个头文件oop.h,内容如下:
PROPERTY_DECL宏的作用就是声明一个属性(类似C#的property),它具有赋值函数和取值函数,同时这个宏帮助你声明了一个private变量来存储这个值。
下面就实践一下它的使用,新建test.h:
test.cpp:
到此,编译运行一下看看效果。
#ifndef OOP_H #define OOP_H #define PROPERTY_DECL(className,propertyName) \ public: className get##propertyName() { return m_##propertyName; } \ public: void set##propertyName(className val) { m_##propertyName = val; } \ private: className m_##propertyName; #define APP_INIT(MainClass) \ int main(int argc,char **argv) \ { \ MainClass instance; \ } #endif // OOP_H
PROPERTY_DECL宏的作用就是声明一个属性(类似C#的property),它具有赋值函数和取值函数,同时这个宏帮助你声明了一个private变量来存储这个值。
下面就实践一下它的使用,新建test.h:
#ifndef TEST_H #define TEST_H #include "oop.h" class Test { PROPERTY_DECL(int,Count) //注意这里,使用到了这个宏! public: Test(); }; #endif // TEST_H
test.cpp:
#include "test.h" #include <iostream> Test::Test() { setCount(10); std::cout << "Hello!" << std::endl; std::cout << "Function getCount() result: " << getCount() << std::endl; } APP_INIT(Test)
到此,编译运行一下看看效果。
相关文章推荐
- C++程序员如何向一个java工程师解释extern "C"的作用
- C++程序员如何向一个java工程师解释extern "C"的作用
- 『C/C++』一个用C/C++分别实现接口与实现相分离的设计原则的例子
- c++中一个关于模板的小例子
- c#调用c++ dll的一个例子
- 一个匹配URL的正则表达式例子(带详细解释)
- 一个简单的例子理解C++ map, 运用map统计单词出现的次数
- 逻辑斯蒂回归(LogisticRegression)sklearn的一个例子中文解释
- 什么是量子计算机?用一个简单例子来解释
- C++ 关于声明,定义,类的定义,头文件作用,防止头文件在同一个编译单元重复引用,不具名空间
- 一个小例子很好解释了JS的事件队列
- 一个简单关于学生成绩管理的C++程序代码,但是对于拷贝析构函数目前还是不知其作用何在
- javascript执行上下文、作用域与闭包(第五篇)---一个例子的理解
- 一个简单但详细的解释Windows文件映射读取数据文件的例子
- 一个例子让你理解c++的指针(传递动态内存)
- C++字符串处理的一个例子:1.查找一个字符在字符串中第n次出现的位置。2分割字符串
- C++:通过一个点的数据对象转换成字符串的例子来说明整数转化为字符串
- 一个Qt线程的例子,用于说明QWaitCondition的作用
- 链接一个做水的例子(虽然什么解释都没有)
- C++第四节:一个例子、静态成员