Что такое класс ? Что такое объект ? При объектно-ориентированном изучении языка C++ понимание классов и объектов является основной основой всего изучения языка. Популярное понимание заключается в том, что класс на самом деле является моделью, типом переменной, а объектом является конкретная переменная, определенная этим типом, точно так же, как int a в этом предложении, int соответствует классу, а a соответствует объекту. Это должно быть легко понять каждому, но следует отметить, что int — это встроенный тип C++, а не настоящий класс.
Таким образом, вкратце: класс — это абстракция и обобщение объекта, а объект — это конкретность и экземпляр класса. Пожалуйста, поймите это предложение.
Так как же выглядят классы в C++? Проще говоря, класс в C++ на самом деле представляет собой структуру, содержащую функции! Поскольку члены класса C++ могут содержать не только базовые переменные, такие как структуры в языке C, они также могут содержать функции. Первые называются переменными-членами , а вторые — методами-членами .
Ключевые слова определяются с использованием класса class . Например, следующее определяет класс C++, класс студента:
classStudent{public:intnum;charname[100];intscore;intprint(){cout<<num<<<<name<<<<score;return0;}};
Как видите, форма очень похожа на структуру языка C. Члены включают переменные и функции. С этого момента мы привыкнем называть их атрибутами и методами. Стоит отметить, что всем следует обратить внимание на то, что в классе есть еще публичная вещь, которая представляет собой атрибут управления доступом, контролирующий права доступа членов. Помимо public , есть три типа: приватный и защищенный . Среди них «частное» означает «частное». Члены, объявленные в нем, доступны только членам класса и не могут быть доступны внешнему миру. Это наиболее закрытое разрешение, которое немного более общедоступно, чем «частное». его собственными членами внутри класса. Его подклассы также могут быть доступны (мы подробно рассмотрим концепцию подклассов позже, а публично объявленные члены могут быть доступны любому объекту класса и являются полностью общедоступными данными ). Здесь это можно просто понять, а потом испытать на себе, экспериментируя с кодом. Стоит напомнить, что после определения класса стоит точка с запятой . Будьте осторожны, не выбрасывайте ее!
Хорошо, после понимания основного внешнего вида класса, давайте покажем вам другой способ написания. В том виде, в котором мы только что рассмотрели, функции-члены записываются в классе. Если в классе много функций-членов, прочитайте: «Это будет». очень запутанно. Поэтому C++ также поддерживает другой способ написания, то есть функции-члены объявляют только прототип функции внутри класса и определяют тело функции вне класса. Таким образом, вы можете увидеть список всех функций-членов. класс, как каталог, понятен с первого взгляда и имеет множество спецификаций.
Метод объявления прототипа функции в классе аналогичен объявлению прототипа функции в общем языке C. Метод определения функции вне класса требует добавления квалификатора области видимости :: . Возьмем класс Student. только сейчас в качестве примера. Код, определенный вне класса, выглядит следующим образом:
classStudent{public:intnum;//номер студента charname[100];//name intscore;//оценка intprint();//объявляем функцию печати внутри класса}; intStudent::print()//определяем завершение вне класса}; функция печати класса {cout<<num<<<<name<<<<score;return0;}
Обратите внимание, что после того, как функция печати объявлена в классе, мы определяем ее полностью позже. В заголовке функции между возвращаемым значением и именем функции используется имя класса плюс ::, чтобы указать, к какому классу принадлежит функция.
Пожалуйста, ознакомьтесь с двумя приведенными выше вариантами использования, а затем воспользуйтесь компьютером, чтобы разобраться самостоятельно, и выберите в зависимости от ситуации.