• 类模板 模板类


    下面定义的是类模板,用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;
    }
    
  • 相关阅读:
    Vim命令合集
    感知机算法
    【项目】搜索广告CTR预估(二)
    【项目】搜索广告CTR预估(一)
    Kernel Logestic Regression
    SVM3 Soft Margin SVM
    Bias and Variance
    SVM2---核函数的引入
    贪心题目汇总
    Divergent series
  • 原文地址:https://www.cnblogs.com/helloweworld/p/2839273.html
Copyright © 2020-2023  润新知