- 构造函数在初始化时调用,即使有函数调用运算符()的重载,并且参数类型一样,只会调用构造函数,函数对象只能声明后,才能调用
-
例子
#include <iostream> #include <string> using namespace std; struct student { string sno; student() { cout << "调用构造函数son为:" << sno << "#"<<endl; } student(string sno) { this->sno = sno; cout << "调用构造函数sno为:" << this->sno << "#" << endl; } void operator()(string sno) { this->sno = sno; cout << "调用函数对象sno为:" << this->sno << "#" << endl; } }; int main() { student s("2014");//输出"调用构造函数sno为:2014#" student s2; //输出"调用构造函数sno为:#" s("2014"); //输出"调用函数对象sno为:2014#" getchar(); return 0; }
C++ 构造函数 和 函数对象
最新推荐文章于 2022-08-23 21:49:52 发布