【发布时间】:2012-01-29 13:23:44
【问题描述】:
我希望使用 C++ 预处理器能够在任何 C++ 块中编写以下内容。
class Student {
private:
int age;
int grade;
int courses;
}
int main(){
CREATE_STUDENT 15+62+2 ;
}
前面的代码将创建一个包含这 3 个成员的 Student。
我想使用+ 运算符重载。
知道怎么做吗? 我想要上面提到的语法。
【问题讨论】:
-
你为什么要这样做而不是简单的对象创建? (注意,在考虑运算符重载之前,预处理器已经运行完毕。)
-
为什么不是构造函数:
Student(int a_age, int a_grade, int a_courses) : age(a_age), grade(a_grade), courses(a_courses) {}?像Student s(15, 62, 2);一样使用它
标签: c++ operator-overloading c-preprocessor