zoukankan      html  css  js  c++  java
  • 第二十三模板 6类模板的定义 简单

    //第二十三模板 6类模板的定义
    //类模板的定义与函数模板的定义大到到致相同
    /*#include <iostream>
    using namespace std;
    template<class T>
    class people
    {
    public:
    	people(T x, T y):X(x),Y(y){}
    	T getX(){ return X;}
    	T getY(){ return Y;}
    private:
    	T X, Y;
    };
    int main()
    {
    	int a=3, b=4;
    	people<int> Jack(a,b);
    	//注意,由于people是个模板类,因此构造对像时略有不同
    	//people<int> Jack(a,b)
    	//<in>告诉编译器将从模板中产生一个类,并且类型int替换类型T
    	//这样,people类中所有类型为T的参数将全部被替换为类型为int的参数
    
    	cout<<Jack.getX()<<endl;
    	cout<<Jack.getY()<<endl;
    
    	people<char> Mack('x','y');
    	cout<<Mack.getX()<<endl;
    	cout<<Mack.getY()<<endl;
    
        return 0;
    }*/
    //使用继承和模板的方式,都可以派生出一个类系,以实现代码重用的目前的,但是它们有着本质的区别
    /*
    由模板生成的多个新类,实现的是对多个数据类型的重载,它们处理数据方法都是相同的,但是继承方式派生出的类,数据有增加的可能,而且对数据的操作方式也可能会变化,
    比如说派生类会提供更多的方法对数据进行操作,或者改变原有的方法,使得数据的操作更加简单和快捷,而且这些类之间也存在着兄弟,父子之间的关系
    */
    

      

  • 相关阅读:
    Does Spring Framework support Reactive @Transaction?
    How to explain the 'WebFlux' by analogy with 'Sports' ?
    Atom 插件推荐
    PC端页面适应不同的分辨率的方法 (转载)
    JS
    JS
    apicloud
    PHP
    CSS
    屏幕适配
  • 原文地址:https://www.cnblogs.com/xiangxiaodong/p/2711681.html
Copyright © 2011-2022 走看看