首页 > 编程知识 正文

印象笔记如何创建模板,函数模板的实例化由编译器实现

时间:2023-05-05 18:26:35 阅读:169306 作者:2288

//呼叫时机差异://1。 普通类的成员函数可以从头开始创建//2。 类模板的成员函数在调用时首次创建# includeiostreamusingnamespacestd。 class person1{ public : voidshowperson1(} { cout ' person1show ' endl; }; class person2{ public : voidshowperson2(} { cout ' person2show ' endl; }; templateclasstclassmyclass { public : tobj; //类模板的成员函数voidfunc1({obj.showperson1); }void func2() {obj.showperson2); }; //至此,程序可以正常编译。 理由:在第24行和第28行,尽管同一个类调用不同类的成员函数,但这个同一个类是类模板! //类模板中的成员函数是在调用过程中创建的,不运行到此为止是不会创建的,也不会发生冲突。 void test01 ()人员1为func1Myclassperson1m; 我的班级个人2n; m.func1(; //m.func2(; n.func2(弄错; //n.func1(; //之所以报告以上错误,是因为:命令在运行时开始为类模板创建成员函数,并且目标函数显然不在调用它的类中。 }int main (() {test01 ) ); }

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。