C++编程(B)

Educn 1321 string stringc beijing university of

Info iconThis preview shows page 1. Sign up to view the full content.

View Full Document Right Arrow Icon
This is the end of the preview. Sign up to access the rest of the document.

Unformatted text preview: 为一个模板提供多种实 派生和模板(运行时的和编译时的多态 源代码组织 Beijing University of Posts & Telecommunications Beijing young@buptnet.edu.cn 13.2 一个简单的String模板 串是一个能够保存一些字符的类,而且提供 了各种串的基本操作 实际应用中,我们可能希望为多种不同种类 的字符(有符号字符、无符号字符、中文字 符、希腊字符)提供这样的功能,因此希望 能够以最不依赖于特定字符种类的方式给出 串的概念 因此可以将以前的char类型的串抽象为一个 更具普遍性的串类型 Beijing University of Posts & Telecommunications Beijing young@buptnet.edu.cn 一个简单的String模板 template<class C> class String { struct Srep; template<class C>前缀说明当 Srep* rep; 前正在声明的是一个模板,它有 public: 一个将在声明中使用的类型参数 String(); C String(Const C*); String(const String&); C的作用域将一直延伸到由这个 template<class C>作为前缀的 C read(int i) const; 声明的结束处 //… }; C代表了一种类型,不必一定是 某个类的名称 Beijing University of Posts & Telecommunications Beijing young@buptnet.edu.cn 示例 String<char> cs; String<unsigned char> us; String<wchar_t> ws; class Jchar{ // … }; String<Jchar> js; // 统计输入各个单词出现的次数 int main() { String<char>...
View Full Document

Ask a homework question - tutors are online