使得類的接口完整並且最小,
函數模板的定義
template<class T>
class namedptr{
public:
namedptr(const sting& initname, T *initptr);
...
private:
string name;
T *ptr;
};
類成員數據初始化有兩種方法,分別列出來兩種方法後作比較.
template<class T>
namedptr<t>::namedptr(const string& initname,T*initptr):name(initname),ptr(initptr){}
或者是採用賦值的方法:
template<class T>
namedptr<t>::namedptr(const sting& initname, T*initptr)
{
name = initname;
....
}
一般採用初始化列表的方法對成員進行初始化,那樣可以提高初始化成員的效率,另外是滿足對const和引用成員初始化的要求.
如果有大量的同一類型的類成員需要被初始化的話,怎還是採用賦值這種方式;
int i,j,k,l,m,n;
i=j=k=l=m=n=1;
.....
函數模板的定義
template<class T>
class namedptr{
public:
namedptr(const sting& initname, T *initptr);
...
private:
string name;
T *ptr;
};
類成員數據初始化有兩種方法,分別列出來兩種方法後作比較.
template<class T>
namedptr<t>::namedptr(const string& initname,T*initptr):name(initname),ptr(initptr){}
或者是採用賦值的方法:
template<class T>
namedptr<t>::namedptr(const sting& initname, T*initptr)
{
name = initname;
....
}
一般採用初始化列表的方法對成員進行初始化,那樣可以提高初始化成員的效率,另外是滿足對const和引用成員初始化的要求.
如果有大量的同一類型的類成員需要被初始化的話,怎還是採用賦值這種方式;
int i,j,k,l,m,n;
i=j=k=l=m=n=1;
.....