C++泛型类

Dem*_*tor 1 c++ class

我有一个关于c ++中泛型类的(简单)问题.我有一些在C#中使用它们的知识,但现在我尝试在c ++中实现一个,我有一个错误,我不知道我应该做什么让程序工作.这不是我需要的功课或其他东西,而是我自己的研究.

码:

#include <iostream>
using namespace std;

template<class A>class genericClass
{
    A ceva;
    char* clasa;
public: 
    void afisClasa(void);
    genericClass(A);
    ~genericClass(void);
};

template<class A>genericClass<A>::afisClasa()
{
    cout << clasa;
}

template<class A>genericClass<A>::genericClass(A myType)
{
    myType = ceva;

    if((int)ceva == ceva)
    {
        clasa = "INT";
        goto label;
    }       

    if((float)ceva == ceva)
    {
        clasa = "FLOAT";
        goto label;
    }   

    if((double)ceva == ceva)
    {
        clasa = "DOUBLE";
        goto label;
    }   

    label:
    //cout << clasa;
}

template<class A>genericClass<A>::~genericClass(void)
{
}


int main()
{
    int n;

    genericClass<float> A(6.2);

    cin >> n;
}
Run Code Online (Sandbox Code Playgroud)

这个程序应该采用通用数字并说明它是什么类型,但是当我实现afisClass方法时,我得到一个错误:

C4430: Missing type specifier - int assumed. Note c++ does not support default-in
Run Code Online (Sandbox Code Playgroud)

Ker*_* SB 6

你不得不说:

template <class A> void genericClass<A>::afisClasa() { cout << clasa; }
//                 ^^^^
Run Code Online (Sandbox Code Playgroud)

函数定义必须与前一个声明具有完全相同的形式.

  • 接受他的答案然后:) (2认同)