zoukankan      html  css  js  c++  java
  • 浅显易懂的单模版类——————(与函数模版的区别)

    • 模版类是抽象的,必须进行具体类型,而函数模版则不一定

    #include<iostream>
    #include<string>
    using namespace std;
    
    template < typename T>//定义模版不能加分号
    class A
    {
    public:
    	A(T a)
    	{
    		this->a = a;
    	}
    	T &get()
    	{
    		return a;
    	}
    private:
    	T a;
    };
    int main()
    {
    	A<int> a1(10); // 这里必须写上<>里面的内容!
    	cout << a1.get() << endl;
    
    	A<char> a2('l');
    	cout << a2.get() << endl;
    
    	A<string > a3("love");
    	string temp=a3.get() ;
    	cout << temp << endl;
    	system("pause");
    }
    

      

    • 函数模版不允许自动类型转换,必须严格按照类型匹配----这里的意思是如果模版类要求两个参数的类型一致,则调用函数必须符合这个要求。
    • 普通函数则可以进行自动类型的转化。
    #include<iostream>
    using namespace std;
    
    template <typename T>
    void Staff(T a, T b)
    {
    	cout << "a= " << a << " b = " << b << endl;
    	cout << "我只是一个普通的函数模版、
    ";
    }
    
    void  Staff(int a, char b)
    {
    	cout << "a= " << a << " b = " << b << endl;
    	cout << "我只是一个普通的函数
    ";
    }
    int main()
    {
    	int x = 101;
    	char y = 'a';
    	int z = 100;
    
    	Staff(x, y);//调用的普通函数
    	Staff(y, x); 调用的普通函数,普通函数可以自动类型转化
    	Staff(x, x);  调用的函数模版  函数模版不可以自动类型的转化
    	system("pause");
    }
    

      

  • 相关阅读:
    redis学习
    win2008下c#调用directshow问题
    vs2005升级到vs2010相关问题
    spark-shell 启动失败,显示端口问题
    监控spark-sql 等脚本
    spark 相关配置 shuffle 相关配置选项
    spark on Yarn 语句
    使用hive thriftserver 连接spark sql
    HBase 报错系列之region is not online
    HBase 表迁移中对丢失的表检查使用的语句
  • 原文地址:https://www.cnblogs.com/xiaochige/p/6705857.html
Copyright © 2011-2022 走看看