zoukankan      html  css  js  c++  java
  • 类模板 模板类

    下面定义的是类模板,用int实例化T后成为模板类。
    实例化类模板的语法:
    类名<模板实参表>
     
    结合下例即 Array<int> 就是将类模板Array实例化为模板类的语法。
     
    /*类模板*/
    #include <iostream>
    using namespace std;
    
    template<class T>
    class Array {
    	T *data;
    	int size;
    public:
    	Array(int i) {
    		data = new T[i];
    		size = i;
    	}
    
    	~Array() {
    		delete[] data;
    	}
    
    	T& operator[](int i) {
    		return data[i];
    	}
    
    	void find(T a);
    };
    void Array<T>::find(T a) {
    	for (int i = 0; i < size; i++) {
    		if (data[i] == a) {
    			cout << "Found it! The index is" << i << endl;
    			break;
    		}
    		if (i == size) {
    			cout << "Cann't find!\n";
    		}
    	}
    }
    
    int main(void)
    {
    	Array<int> iarray(10); //Array<int> 用int实例化模板参数T而生成的模板类。
    	for (int i = 0; i < 10; i++) {
    		iarray[i] = i;
    		cout << iarray[i] << ",";
    	}
    	cout << endl;
    
    	iarray.find(4);
    
    	Array<double> darray(10);
    	//...对double的操作略。
    	return 0;
    }
    
  • 相关阅读:
    显示多行字符串
    dowhile
    获取系统的相关文件夹
    DLL 实际应用版本
    ShellExecute
    LoadLibrary
    MFC DLL的创建
    在DLL中存放资源
    替换字符串
    RemoveDirectoryB
  • 原文地址:https://www.cnblogs.com/helloweworld/p/2839273.html
Copyright © 2011-2022 走看看