Métodos que usan constantes en una clase

1. Definición de macros

#include <iostream>
#include <array>
#include <vector>
#define SIZE 100

template<class T>
class Object{
    
    
private:
     static 
     std::array<T,SIZE>data; 
public:
     Object(){
    
    
       
     }
};
int main(){
    
    
      Object<int>obj;
      return 1;
}

2. Constantes globales

#include <iostream>
#include <array>
#include <vector>
const int SIZE = 100;
template<class T>
class Object{
    
    
private: 
     std::array<T,SIZE>data;
public:
     Object(){
    
    
        std::cout<<data.size()<<std::endl;
     }

};
int main(){
    
    

      Object<int>obj;


      return 1;
}

3. Usa estática en la clase

#include <iostream>
#include <array>
#include <vector>
template<class T>
class Object{
    
    
private: 
      static const int SIZE = 100;
      std::array<T,SIZE>data;
public:
     Object(){
    
    
        std::cout<<data.size()<<std::endl;
     }

};
int main(){
    
    

      Object<int>obj;
      return 1;
}

4. El uso de la clase enum

#include <iostream>
#include <array>
#include <vector>
template<class T>
class Object{
    
    
private: 
      enum class NumSpace{
    
    
            SIZE = 100,
      };
      std::array<T,static_cast<int>(NumSpace::SIZE)>data;
public:
     Object(){
    
    
        std::cout<<data.size()<<std::endl;
     }

};
int main(){
    
    

      Object<int>obj;
      return 1;
}

Supongo que te gusta

Origin blog.csdn.net/qq_44741914/article/details/132170168
Recomendado
Clasificación