c++ 类模版、成员函数模版、函数模版 用法

C++函数模版与类模版。

template <class T>

void SwapFunction(T &first, T &second){

}//函数模版

template <class T>//类模版

class CTemplate{

public:

    void SWap(T &first, T &second){

    }

};

 

#include <iostream>
class Single{
public:
    static Single*  ShareInstance();
    static void ReleaseInstance();
     template<class Tex>//要成员函数实现模版用法,而类不是模版类。需要写成这个格式
    void SwapEx(Tex &obj1, Tex &obj2){
    }
private:
    Single();
    ~Single();
    Single(const Single &other);
    Single& operator=(const Single &other);

private:
    static Single *m_pObj;
};

Single* Single::m_pObj = NULL;

Single* Single::ShareInstance(){
    if (NULL == m_pObj) {
        Single obj;
        m_pObj = new Single();
    }
    return m_pObj;
}

void Single::ReleaseInstance(){
    if (m_pObj) {
        delete m_pObj;
        m_pObj = NULL;
    }
}

Single::Single(){

}
Single::~Single(){

}
时间: 2024-09-29 23:18:51

c++ 类模版、成员函数模版、函数模版 用法的相关文章

谈函数指针(全局/类成员函数)和函数对象

函数指针(全局函数/类成员函数).函数对象(Function object) 一. 函数指针类型为全局函数. #include "stdafx.h"#include <iostream>using namespace std;class TestAction;typedef void (*fp)(int); void Drink(int i){ cout<<"No. "<<i<<" drink..."

使非MFC窗口程序的窗口回调过程成为C++类的成员函数

一直以来,编写非MFC下的窗口程序,都习惯把窗口过程及消息处理函数编写成全局函数.为了把窗口回调过程及窗口消息处理函数封装成C++窗口类的成员函数,于是我编写了抽象类CWndProc: 一.头文件 //wndpro.h #ifndef __WNDPROC_H__ #define __WNDPROC_H__ class CWndProc { protected: //保护的构造函数,必须由派生类来构造. CWndProc(); virtual ~CWndProc(); protected: //窗

python中如何对类的成员函数开启线程?

问题描述 python中如何对类的成员函数开启线程? 单独对某个函数开启线程是可以的,比如下面的代码: import threading import thread import time def doWaiting(): print 'start waiting:', time.strftime('%H:%M:%S') time.sleep(3) print 'stop waiting', time.strftime('%H:%M:%S') thread1 = threading.Thread

深入类的成员函数指针

先看这样一段代码   class test { public:      test(int i){ m_i=i;}      test(){};      void hello()     {          printf("hello/n");     } private:     int m_i; }; int main() {  test *p=new test();  p->hello();  p=NULL;  p->hello(); }   结果是: hello

写了个c++类的成员函数,返回引用

问题描述 写了个c++类的成员函数,返回引用 test & test::count_price(const test &a){ price+=a.price; return *this; } 原本想写成这样: test &c=a.count_price(b);//获取a的引用 结果意外写成: test c=a.count_price(b); 编译也能通过,问题就来了,为什么这样做可以呢?引用的实质是什么呢? 解决方案 你不理解的是因为:引用返回后调用拷贝构造函数生成了对象c 另一个

一般函数指针和类的成员函数指针深入解析_C 语言

函数指针是通过指向函数的指针间接调用函数.函数指针可以实现对参数类型.参数顺序.返回值都相同的函数进行封装,是多态的一种实现方式.由于类的非静态成员函数中有一个隐形的this指针,因此,类的成员函数的指针和一般函数的指针的表现形式不一样. 1.指向一般函数的指针函数指针的声明中就包括了函数的参数类型.顺序和返回值,只能把相匹配的函数地址赋值给函数指针.为了封装同类型的函数,可以把函数指针作为通用接口函数的参数,并通过函数指针来间接调用所封装的函数.下面是一个指向函数的指针使用的例子. 复制代码

C# 如何调用C++dll 类的成员函数?(请大家指教一二)

问题描述 C#如何调用C++写的MFCDLL中某一类的成员函数呢?eg...C++MFCDLL中有一个类的公共成员函数:CDllClass::icanseeu()...C#应用程序如何调用此函数....求助....先谢啦!!! 解决方案 解决方案二:实现不了解决方案三:C++自己调用都是问题,何况是其他语言解决方案四:实现不了.解决方案五:那怎么办,,,有没什么办法可以解决的...如果是一个C++的普通函数就可以调用的,(已实现)一个C++的类成员函数要怎么办?难不成把C++代码转换为C#代码?

class-关于类的成员函数问题

问题描述 关于类的成员函数问题 Person::Person(const std::string&ln, const char*fn = "Heyyou") 这是在类申明中的一个成员函数声明,为什么在在定义这个函数的时候会重定义?该怎么解决? 解决方案 重定义要么是同样的函数重载参数形式的函数定义了好几个,要么虽然你没有这么做,但是你重复用include包含了定义函数的源代码. 解决方案二: 类的成员函数类模板成员函数的调用问题c++ 类中的成员函数在内存空间的分配问题

c++-C++的类的成员函数问题为什么re()不能进行初始化?而setpoint()函数可以?

问题描述 C++的类的成员函数问题为什么re()不能进行初始化?而setpoint()函数可以? 如题,我知道第一个rectangle是构造函数,所以要与类同名,然后可以初始化赋值,为什么另一个程序setpoint明明不是构造函数,但是可以做赋值处理,然后程序不会报错呢?我把rectangle类里的rectangle函数改成re却是会报错,不用说void re,我试过了,还是会报错.第四张图我直接把构造函数删除掉了,程序正常运行,但是我不懂为什么re不管怎么改都会报错,请各位大神为我解答.谢谢

c++-MFC怎么在普通的函数中操作窗口类的成员变量

问题描述 MFC怎么在普通的函数中操作窗口类的成员变量 例如我想在函数f中操作CtestDlg类的变量e.该怎么做? 解决方案 定义一个全局变量 CtestDlg dlg 创建对话框给它赋值 e定义成public的 用dlg.e 得到变量. 解决方案二: 类的普通成员函数的指针类普通成员函数与函数的区别类成员函数与普通函数的区别 解决方案三: 给函数传入形参,用引用&实现