| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2147 人关注过本帖
标题:谁来说说类模板?
只看楼主 加入收藏
wonderfulday
Rank: 1
等 级:新手上路
帖 子:97
专家分:0
注 册:2004-7-28
收藏
得分:0 
XX++ 11:40:24
A<string>是表示类A的模板类型是string
XX++ 11:40:44
Inst_a是个类的实例

2004-09-13 11:51
C++大粉丝
Rank: 4
等 级:贵宾
威 望:10
帖 子:477
专家分:0
注 册:2004-4-23
收藏
得分:0 
Inst_a是类A<string>的实例呀,Inst_a("a string");就是初始化。

I am a big fan of c plus plus.
2004-09-14 22:55
live41
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:67
帖 子:12442
专家分:0
注 册:2004-7-22
收藏
得分:0 
不好意思,最近才看了ANSI C++的string.h规范。知道了string为新类型。可是A不是模板名啊!
2004-09-14 23:08
ffll518
Rank: 1
等 级:新手上路
帖 子:24
专家分:0
注 册:2004-9-8
收藏
得分:0 

A<string>Inst_a("a string");

首先A是摸板类,<string>是代入的类型参数,inst_a是一个对象,而且用的是template<class T>A::A(T 形参名) 这个构造函数。


2004-09-15 08:56
yms123
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:209
帖 子:12488
专家分:19042
注 册:2004-7-17
收藏
得分:0 
以下是引用VC6程序员在2004-09-06 08:43:04的发言:

类模版是标准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是字符串函数?有什么作用?

2004-09-21 22:27
live41
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:67
帖 子:12442
专家分:0
注 册:2004-7-22
收藏
得分:0 
以下是引用yms123在2004-09-21 22:27:28的发言:

这个程序我理解的是做了一个模板类,有一个私有变量和一个给私有变量附值和输出私有变量的两个成员函数。string cstr(Inst_a.GetMemVal());可不解这句什么意思,cstr是字符串函数?有什么作用?

我也纳闷啊,用例子太那个了,cstr大概不是函数吧,觉得应该等价于:

string cstr = Inst_a.GetMemVal(); //是这样吗?

2004-09-23 00:56
快速回复:谁来说说类模板?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.015149 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved