Answers for "cpp class template"

C++
2

c++ class template

#include <vector>

// This is your own template
// T it's just a type
template <class T1, class T2, typename T3, typename T4 = int>
class MyClass
{
  public:
  	MyClass() { }
  
  private:
  	T1 data; 		// For example this data variable is T type
  	T2 anotherData;	// Actually you can name it as you wish but
  	T3 variable;	// for convenience you should name it T
}

int main(int argc, char **argv)
{
  std::vector<int> array(10);
  //          ^^^
  // This is a template in std library
  
  MyClass<int> object();
  // This is how it works with your class, just a template for type
  // < > angle brackets means "choose" any type you want
  // But it isn't necessary should work, because of some reasons
  // For example you need a type that do not supporting with class
  return (0);
}
Posted by: Guest on May-02-2020
0

c++ template

// template specialization
#include <iostream>
using namespace std;

// class template:
template <class T>
class mycontainer {
    T element;
  public:
    mycontainer (T arg) {element=arg;}
    T increase () {return ++element;}
};

// class template specialization:
template <>
class mycontainer <char> {
    char element;
  public:
    mycontainer (char arg) {element=arg;}
    char uppercase ()
    {
      if ((element>='a')&&(element<='z'))
      element+='A'-'a';
      return element;
    }
};

int main () {
  mycontainer<int> myint (7);
  mycontainer<char> mychar ('j');
  cout << myint.increase() << endl;
  cout << mychar.uppercase() << endl;
  return 0;
}
Posted by: Guest on December-02-2020
0

c++ template

// class templates
#include <iostream>
using namespace std;

template <class T>
class mypair {
    T a, b;
  public:
    mypair (T first, T second)
      {a=first; b=second;}
    T getmax ();
};

template <class T>
T mypair<T>::getmax ()
{
  T retval;
  retval = a>b? a : b;
  return retval;
}

int main () {
  mypair <int> myobject (100, 75);
  cout << myobject.getmax();
  return 0;
}
Posted by: Guest on July-24-2021
0

c++ template

// sequence template
#include <iostream>
using namespace std;

template <class T, int N>
class mysequence {
    T memblock [N];
  public:
    void setmember (int x, T value);
    T getmember (int x);
};

template <class T, int N>
void mysequence<T,N>::setmember (int x, T value) {
  memblock[x]=value;
}

template <class T, int N>
T mysequence<T,N>::getmember (int x) {
  return memblock[x];
}

int main () {
  mysequence <int,5> myints;
  mysequence <double,5> myfloats;
  myints.setmember (0,100);
  myfloats.setmember (3,3.1416);
  cout << myints.getmember(0) << 'n';
  cout << myfloats.getmember(3) << 'n';
  return 0;
}
Posted by: Guest on July-24-2021
0

templates c++

template  < typename  T > 
inline  T  max ( T  a ,  T  b )  { 
    return  a  >  b  ?  a  :  b ; 
}

int  main () 
{ 
    // Isso chamará max <int> por dedução implícita do argumento. 
    std :: cout  <<  max ( 3 ,  7 )  <<  std :: endl ;

    // Isso chamará max <double> por dedução implícita do argumento. 
    std :: cout  <<  max ( 3.0 ,  7.0 )  <<  std :: endl ;

    // Isso depende do compilador. Alguns compiladores lidam com isso definindo uma 
    função de 
    modelo // como double max <double> (double a, double b) ;, enquanto em alguns compiladores // precisamos convertê-lo explicitamente, como std :: cout << max <double> (3,7,0); 
    std :: cout  <<  max ( 3 ,  7.0 )  <<  std :: endl ; 
    std :: cout  <<  max < double > ( 3 ,  7.0 )  <<  std :: endl ; 
    return  0 ; 
}
Posted by: Guest on June-16-2021
0

c++ template

template <class T>
class mypair {
    T values [2];
  public:
    mypair (T first, T second)
    {
      values[0]=first; values[1]=second;
    }
};
Posted by: Guest on July-24-2021

Browse Popular Code Answers by Language