A<string>是表示类A的模板类型是string
XX++ 11:40:44
Inst_a是个类的实例
A<string>Inst_a("a string");
首先A是摸板类,<string>是代入的类型参数,inst_a是一个对象,而且用的是template<class T>A::A(T 形参名) 这个构造函数。
类模版是标准C++晚写时候加上的,和MS的MFC没有关系.
// File.h
#include <iostream> #include <string> using namespace std; template<class T> class A { public: A(T value){m_memval = value;} T GetMemVal()const { return m_memval; } private: T m_memval; };
// File.cpp
#include "File.h" int main() { A<string> Inst_a("a string"); string cstr(Inst_a.GetMemVal()); cout << cstr << endl; return 0; }
这个程序我理解的是做了一个模板类,有一个私有变量和一个给私有变量附值和输出私有变量的两个成员函数。string cstr(Inst_a.GetMemVal());可不解这句什么意思,cstr是字符串函数?有什么作用?
这个程序我理解的是做了一个模板类,有一个私有变量和一个给私有变量附值和输出私有变量的两个成员函数。string cstr(Inst_a.GetMemVal());可不解这句什么意思,cstr是字符串函数?有什么作用?
我也纳闷啊,用例子太那个了,cstr大概不是函数吧,觉得应该等价于:
string cstr = Inst_a.GetMemVal(); //是这样吗?