Типы в C, такие как Int Float, char и т. Д., Определяют данные, к которым можно обращаться с помощью определенных методов, которые могут работать с ними. Это не сложнее, чем это. Как для int я могу добавить, вычесть умножить и, возможно, делить. Это мои методы (или операции) для int. Класс - это просто определение нового типа. Сначала я определяю, как выглядят данные. Может быть, это один бит. Может быть, это два слова, как комплекс с реальной и мнимой частью. Или, может быть, это сложная штука с 309734325 байтами, представляющими атомную структуру странной частицы на Юпитере. Мне все равно Как целое число, я выполняю операции, которые могу выполнять с этим новым типом данных. В случае целого числа, которое я добавил, вычел и т. Д. С помощью этого нового типа данных я могу определить любые операции, которые я считаю целесообразными. Они могут быть добавлены вычитать и т.д., но они могут добавить другие вещи. Это те методы, которые я решу добавить в свой класс.
Суть в том, что с типом в C у вас есть определение того, что это за данные, т.е. байт, слово, число с плавающей запятой, символ и т. д. Но любой из них также подразумевает, какие операции являются законными и дают надежные результаты.
Класс ничем не отличается, кроме вас самих определить интерфейс и допустимые операции. Класс определяет эти вещи, и когда вы создаете его экземпляр в Object, он определяет поведение объекта так же, как определение типа определяет поведение целого числа при работе с ним.
Классы просто дают вам гибкость в определении новых типов и всего того, как они работают.
Как только это определено, каждый раз, когда я создаю экземпляр объекта класса "thingy", он имеет определенную мной структуру данных и операции (методы), которые, как я сказал, вы можете делать с ним. Класс "вещь" явно не более, чем новый тип, который C ++ позволяет мне определять.