Попытка понять классы
Я искал информацию о class и int, но так и не понял.
Я видел этот код в Интернете и хочу его понять
class Motor {
int enablePin;
int directionPin1;
int directionPin2;
public:
//Метод определения выводов двигателя
Motor(int ENPin,int dPin1,int dPin2){
enablePin = ENPin;
directionPin1 = dPin1;
directionPin2 = dPin2;
};
@saleh a.a.a, 👍1
Обсуждение1 ответ
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++ будут лучшим источником информации, чтобы понять это.
Этот фрагмент кода также неверен, поскольку в нем есть несбалансированные фигурные скобки: одна открывает определение класса, другая открывает определение конструктора, но только одна закрывающая скобка.
- Какие накладные расходы и другие соображения существуют при использовании структуры по сравнению с классом?
- Ошибка: "недопустимое использование нестатической функции-члена" при вызове функции из моего собственного класса-метода
- Массив динамического размера в качестве члена класса
- Как перебрать объекты или передать объект функции?
- Прерывания внутри класса, связанные с функцией класса
- Присоедините функцию Arduino ISR к члену класса
- Недопустимое использование нестатической функции-члена
- Передача HardwareSerial и SoftwareSerial как свойства класса
вот интерактивная веб-страница, которая может помочь... http://www.cplusplus.com/doc/tutorial/classes/, @jsotola
с какой частью у тебя проблемы?, @jsotola