定义宏函数
// 宏函数定义
#define MacroFunction(Name, T1, T2) \
void Name() \
{ \
cout << "T1 = " << T1 << "," << " T2 = " << T2 << endl; \
} \
最后一行最后空一行,最后的\后面不要有字符空格也不要.
创建函数
MacroFunction(funa, 12, 13);
分号可写可不写.写是为了与普通函数保持一致.第一个参数是函数名字,使用宏函数函数名字可以预定义,也可以不要.但是下面的类成员函数名字必须在类中定义,如果不定义是找不到函数名字的.
类成员函数定义宏函数
class A
{
public:
A() {}
~A() {}
void ClassFunc();
};
// 宏函数定义类成员函数
#define MacroClassFunction(Name, T1, T2) \
void A::Name() \
{ \
cout << "T1 = " << T1 << "," << " T2 = " << T2 << endl; \
} \
创建函数
MacroClassFunction(ClassFunc, 15, 14);
主函数
int main()
{
funa();
A a;
a.ClassFunc();
return 0;
}
全部代码
// ConsoleApplication3.cpp : Defines the entry point for the console application.
//
#include "stdafx.h"
#include <iostream>
using namespace std;
class A
{
public:
A() {}
~A() {}
void ClassFunc();
};
// 宏函数定义
#define MacroFunction(Name, T1, T2) \
void Name() \
{ \
cout << "T1 = " << T1 << "," << " T2 = " << T2 << endl; \
} \
// 宏函数定义类成员函数
#define MacroClassFunction(Name, T1, T2) \
void A::Name() \
{ \
cout << "T1 = " << T1 << "," << " T2 = " << T2 << endl; \
} \
MacroFunction(funa, 12, 13);
MacroClassFunction(ClassFunc, 15, 14);
int main()
{
funa();
A a;
a.ClassFunc();
return 0;
}