首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

怎么合并相近操作的类成员函数

2012-04-18 
【求助】如何合并相近操作的类成员函数示例代码如下:C/C++ codestruct A{A(){a 0}void init( int i ){a

【求助】如何合并相近操作的类成员函数
示例代码如下:

C/C++ code
struct A{    A()    {        a = 0;    }    void init( int i )    {        a = i;    }    int a;};struct B{    B()    {        b = 1.0;    }    void init( int i )    {        b = i;    }    float b;};struct C{    C()    {        c = 1;    }    A * makeA( int i )    {        A * ret = new A;        ret->init( c+i );        return ret;    }    B * makeB( int i )    {        B * ret = new B;        ret->init( c+i );        return ret;    }    int c;};


因为A,B这样的类比较多,有什么办法能把makeA,makeB这些函数,合并成统一的函数,便于维护。

[解决办法]
看你这两个例子,可以用模板做到
[解决办法]
C/C++ code
#include <stdio.h>#include <stdlib.h>struct A{};struct B{};template <class T>void makeObject(T* *ret,int n){        *ret=new T();}int main(){        A *a;        B *b;        makeObject(&a,1);        makeObject(&b,2);        delete a;        delete b;        return 0;}
[解决办法]
这显然的用模板了哦
[解决办法]
Template!

热点排行