欢迎来到天天文库
浏览记录
ID:52204252
大小:424.00 KB
页数:53页
时间:2020-04-02
《c12类的静态成员、模板类.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第十章第三讲:类的静态成员、模板类C++语言程序设计2本章主要内容类的静态成员模板群体类群体数据的组织第一部分---类的静态成员静态数据静态函数静态数据在类成员声明前加上static修饰即把该成员声明为该类的静态成员;静态成员是该类所有对象共有的成员;静态数据成员必须在定义第一个对象之前作为静态变量加以定义并初始化;公有静态成员可以在无任何对象的情况下访问。类的静态成员classMOD100{//类的静态函数成员示例public:staticintadd(intx,inty){return(x+y)%100;}staticintsub(intx,inty){return(x
2、-y)%100;}};voidmain(){cout<3、;}intgeta(){returna;}};intXX::b=0;//类外定义并初始化voidmain(){cout<4、(intx,inty){return(x+y)%100;}staticintsub(intx,inty);};intMOD100::sub(intx,inty){return(x-y)%100;}//函数外定义……10第二部分—模板函数模板类模板11函数模板函数模板可以用来创建一个通用功能的函数,以支持多种不同形参,进一步简化重载函数的函数体设计。声明方法:template函数声明函数模板12求绝对值函数的模板#includeusingnamespacestd;templateTabs(Tx){returnx5、<0?-x:x;}voidmain(){intn=-5;doubled=-5.5;cout<6、函数的参数、某些成员函数的返回值,能取任意类型(包括基本类型的和用户自定义类型)。类模板15类模板的声明类模板:template<模板参数表>class类名{类成员声明}如果需要在类模板以外定义其成员函数,则要采用以下的形式:template<模板参数表>类型名类名::函数名(参数表)类模板16例类模板应用举例#include#includeusingnamespacestd;//结构体StudentstructStudent{intid;//学号floatgpa;//平均分};类模板template//类模板:实现对7、任意类型数据进行存取classStore{private:Titem;//用于存放任意类型的数据inthaveValue;//用于标记item是否已被存入内容public:Store(void);//默认形式(无形参)的构造函数TGetElem(void);//提取数据函数voidPutElem(Tx);//存入数据函数};//默认形式构造函数的实现templateStore::Store(void):haveValue(0){}17template//
3、;}intgeta(){returna;}};intXX::b=0;//类外定义并初始化voidmain(){cout<4、(intx,inty){return(x+y)%100;}staticintsub(intx,inty);};intMOD100::sub(intx,inty){return(x-y)%100;}//函数外定义……10第二部分—模板函数模板类模板11函数模板函数模板可以用来创建一个通用功能的函数,以支持多种不同形参,进一步简化重载函数的函数体设计。声明方法:template函数声明函数模板12求绝对值函数的模板#includeusingnamespacestd;templateTabs(Tx){returnx5、<0?-x:x;}voidmain(){intn=-5;doubled=-5.5;cout<6、函数的参数、某些成员函数的返回值,能取任意类型(包括基本类型的和用户自定义类型)。类模板15类模板的声明类模板:template<模板参数表>class类名{类成员声明}如果需要在类模板以外定义其成员函数,则要采用以下的形式:template<模板参数表>类型名类名::函数名(参数表)类模板16例类模板应用举例#include#includeusingnamespacestd;//结构体StudentstructStudent{intid;//学号floatgpa;//平均分};类模板template//类模板:实现对7、任意类型数据进行存取classStore{private:Titem;//用于存放任意类型的数据inthaveValue;//用于标记item是否已被存入内容public:Store(void);//默认形式(无形参)的构造函数TGetElem(void);//提取数据函数voidPutElem(Tx);//存入数据函数};//默认形式构造函数的实现templateStore::Store(void):haveValue(0){}17template//
4、(intx,inty){return(x+y)%100;}staticintsub(intx,inty);};intMOD100::sub(intx,inty){return(x-y)%100;}//函数外定义……10第二部分—模板函数模板类模板11函数模板函数模板可以用来创建一个通用功能的函数,以支持多种不同形参,进一步简化重载函数的函数体设计。声明方法:template函数声明函数模板12求绝对值函数的模板#includeusingnamespacestd;templateTabs(Tx){returnx
5、<0?-x:x;}voidmain(){intn=-5;doubled=-5.5;cout<6、函数的参数、某些成员函数的返回值,能取任意类型(包括基本类型的和用户自定义类型)。类模板15类模板的声明类模板:template<模板参数表>class类名{类成员声明}如果需要在类模板以外定义其成员函数,则要采用以下的形式:template<模板参数表>类型名类名::函数名(参数表)类模板16例类模板应用举例#include#includeusingnamespacestd;//结构体StudentstructStudent{intid;//学号floatgpa;//平均分};类模板template//类模板:实现对7、任意类型数据进行存取classStore{private:Titem;//用于存放任意类型的数据inthaveValue;//用于标记item是否已被存入内容public:Store(void);//默认形式(无形参)的构造函数TGetElem(void);//提取数据函数voidPutElem(Tx);//存入数据函数};//默认形式构造函数的实现templateStore::Store(void):haveValue(0){}17template//
6、函数的参数、某些成员函数的返回值,能取任意类型(包括基本类型的和用户自定义类型)。类模板15类模板的声明类模板:template<模板参数表>class类名{类成员声明}如果需要在类模板以外定义其成员函数,则要采用以下的形式:template<模板参数表>类型名类名::函数名(参数表)类模板16例类模板应用举例#include#includeusingnamespacestd;//结构体StudentstructStudent{intid;//学号floatgpa;//平均分};类模板template//类模板:实现对
7、任意类型数据进行存取classStore{private:Titem;//用于存放任意类型的数据inthaveValue;//用于标记item是否已被存入内容public:Store(void);//默认形式(无形参)的构造函数TGetElem(void);//提取数据函数voidPutElem(Tx);//存入数据函数};//默认形式构造函数的实现templateStore::Store(void):haveValue(0){}17template//
此文档下载收益归作者所有