Попытка понять классы

Я искал информацию о class и int, но так и не понял.

Я видел этот код в Интернете и хочу его понять

class Motor { 

  int enablePin;
  int directionPin1;
  int directionPin2;
  public: 

  //Метод определения выводов двигателя
  Motor(int ENPin,int dPin1,int dPin2){
    enablePin = ENPin;
    directionPin1 = dPin1;
    directionPin2 = dPin2;
}; 

, 👍1

Обсуждение

вот интерактивная веб-страница, которая может помочь... http://www.cplusplus.com/doc/tutorial/classes/, @jsotola

с какой частью у тебя проблемы?, @jsotola


1 ответ


4
class Motor {

Это говорит о том, что нужно начать определять класс. Класс похож на «контейнер», который содержит как данные, так и функции (методы). После определения класса он становится новым типом переменной, для которого можно объявить несколько экземпляров.

  int enablePin;
  int directionPin1;
  int directionPin2;

Они определяют три целочисленные переменные (int=integer; целые числа, такие как 2, 3, 1000, -5 и т. д.), которые принадлежат классу и имеют заданные идентификаторы (enablePin и т. д.). .) Поскольку не указано иное, эти переменные являются частными, что означает, что только другие функции в классе могут получить к ним доступ. Другие части программы не имеют доступа к этим переменным.

public:

Это означает, что следующие определения доступны частям программы, существующим вне класса.

Motor(int ENPin,int dPin1,int dPin2) {
  enablePin = ENPin;
  directionPin1 = dPin1;
  directionPin2 = dPin2;
}

Это определяет единственную «функцию-член» в этом классе, и поскольку она имеет то же имя, что и класс (Motor), она называется «Конструктор» и позволяет передавать аргументы в объект, созданный из класса - в этом случае, если вы объявляете объект класса Motor с помощью myMotor = Motor(1, 2, 3);, конструктор вызывается с параметрами 1, 2 и 3. Этот конструктор просто устанавливает частные переменные такими же, как переданные аргументы.

Но... Все это базовый язык C++, поэтому книга или курс по программированию на C++ будут лучшим источником информации, чтобы понять это.

Этот фрагмент кода также неверен, поскольку в нем есть несбалансированные фигурные скобки: одна открывает определение класса, другая открывает определение конструктора, но только одна закрывающая скобка.

,