수업이란 무엇입니까? 객체 란 무엇입니까? 객체지향 C++ 언어 학습에서는 클래스와 객체에 대한 이해가 전체 언어 학습의 핵심 기반입니다. 대중적인 이해는 클래스가 실제로 모델, 변수 유형이고 객체는 이 유형에 의해 정의된 특정 변수라는 것입니다. 이 문장의 int a와 마찬가지로 int는 클래스에 해당하고 a는 객체에 해당합니다. 이는 누구나 쉽게 이해할 수 있지만 int는 실제 클래스가 아니라 내장된 C++ 유형 이라는 점에 유의해야 합니다.
따라서 요약하면 클래스는 객체의 추상화 및 일반화이고 객체는 클래스의 구체성과 인스턴스입니다. 이 문장을 이해해주세요.
그렇다면 C++의 클래스는 어떤 모습일까요? 간단히 말해서, C++의 클래스는 실제로 함수를 포함하는 구조입니다! C++ 클래스의 멤버는 C 언어의 구조와 같은 기본 변수를 포함할 수 있을 뿐만 아니라 함수도 포함할 수 있기 때문에 전자를 멤버 변수 라고 하고 후자를 멤버 메서드 라고 합니다.
키워드는 클래스 클래스를 사용하여 정의됩니다. 예를 들어 다음은 C++ 클래스인 학생 클래스를 정의합니다.
classStudent{public:intnum;charname[100];intscore;intprint(){cout<<num<<<<name<<<<score;return0;}};
보시다시피, 형식은 C 언어 구조와 매우 유사합니다. 멤버에는 변수와 함수가 포함됩니다. 이제부터 이를 속성과 메서드라고 부르는 데 익숙해집니다. 클래스에는 멤버 액세스 권한을 제어하는 액세스 제어 속성인 공개 항목도 있다는 사실에 모두가 주의해야 합니다. public 외에도 private 및 protected의 세 가지 유형이 있습니다. 그 중 private은 private을 의미하며, 해당 클래스의 멤버만이 접근할 수 있고 외부 세계에서는 접근할 수 없습니다. 클래스 내의 자체 멤버에 의해 해당 하위 클래스에도 액세스할 수 있습니다(하위 클래스의 개념은 나중에 자세히 설명합니다). 공개적으로 선언된 멤버는 클래스의 모든 개체에서 액세스할 수 있으며 완전히 공개 데이터입니다 . 여기서는 간단하게 이해하고, 코드를 실험하면서 체험해 볼 수 있습니다. 클래스 정의 뒤에 세미콜론 이 있다는 점을 기억하세요. 버리지 않도록 주의하세요!
자, 클래스의 기본적인 모습을 이해한 후, 또 다른 작성 방법을 보여드리겠습니다. 방금 살펴본 것처럼 클래스에 멤버 함수가 여러 개 있으면 읽어보세요. 따라서 C++에서는 또 다른 작성 방법도 지원합니다. 즉, 멤버 함수는 클래스 내에서 함수 프로토타입만 선언하고 클래스 외부에서는 함수 본문을 정의하는 방식입니다. 클래스는 마치 디렉토리처럼 한눈에 알 수 있고 사양도 많습니다.
클래스 내에서 함수 프로토타입을 선언하는 방법은 일반 C 언어의 함수 프로토타입 선언과 동일합니다. 클래스 외부에서 함수를 정의하는 방법은 클래스 이름에 :: 범위 한정자 를 추가해야 합니다. 예를 들어, 클래스 외부에 정의된 코드는 다음과 같습니다.
classStudent{public:intnum;//학생 번호 charname[100];//name intscore;//score intprint();//클래스 내에서 인쇄 함수 선언}; intStudent::print()//외부에서 완료 정의 클래스 인쇄 함수 {cout<<num<<<<name<<<<score;return0;}
클래스에서 인쇄 함수를 선언한 후에는 완전히 나중에 정의합니다. 함수 헤더에서 반환 값과 함수 이름 사이에 클래스 이름과 ::를 사용하여 함수가 속한 클래스를 나타냅니다.
위의 두 가지 사용법을 숙지하신 후 컴퓨터를 사용하여 스스로 이해하신 후 상황에 따라 선택하시기 바랍니다.