English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

C++ 객체와 클래스

이 문서에서는 C ++프로그래밍에서 객체와 클래스를 사용합니다.

C ++은 다중 패러다임 프로그래밍 언어입니다. 이는 다른 프로그래밍 스타일을 지원한다는 의미입니다.

프로그래밍 문제를 해결하는 인기 있는 방법 중 하나는 객체를 생성하는 것입니다. 이는面向对象编程 스타일이라고 합니다.

C ++객체 지향(OO) 프로그래밍 스타일을 지원합니다. 이 스타일은 복잡한 문제를 작은 집합으로 나누어 처리할 수 있게 합니다.

객체는 데이터의 집합이며, 이 데이터에 작용하는 함수들입니다.

C ++클래스

C ++객체를 생성하기 전에 클래스를 정의해야 합니다.

클래스는 객체의 블루프린트입니다.

클래스는 집의 스케치(원형)로 볼 수 있습니다. 바닥, 문, 창 등 모든 세부 정보가 포함되어 있습니다. 이 설명을 기반으로 집을 짓습니다. 집은 객체입니다.

같은 설명으로 많은 집을 만들 수 있기 때문에, 하나의 클래스를 기반으로 많은 객체를 생성할 수 있습니다.

C에서 어떻게 ++에서 클래스를 정의하는 방법?

C ++에서, class 키워드와 그 뒤의 클래스 이름으로 클래스를 정의합니다.

클래스의 주체는 중괄호 내에서 정의되며, 마지막에콜론끝.

class className
   {
   // 일부 데이터
   //일부 기능
   };

; 클래스 Test에서는 항상. ++의 클래스

class Test
{
    private:
        int data1;
        float data2;  
    public:  
        void function1();
        {   data1 .data 2;  } 
        float function2();
        { 
            data2 .data 3.5;
            return data2;
        }
   };

여기서는 Test라는 클래스를 정의했습니다.

이 클래스는 두 가지 데이터 구성원을 가지고 있습니다: data1및 data2그리고 두 가지 구성 함수: function1()와 function2()

키워드: private 및 public

위의 예제에서는 두 가지 키워드인 private와 public을 이미 주목했을 수 있습니다.

private 키워드는 데이터와 함수를 비밀로 만듭니다. 비밀 데이터와 함수는 같은 클래스 내에서만 접근할 수 있습니다.

public 키워드는 데이터와 함수를 공개합니다. 데이터와 함수는 클래스 외부에서 접근할 수 있습니다.

여기서, data1및 data2은 비밀 구성원이며 function1()와 function2()는 공개 구성원입니다.

클래스 외부에서 비밀 데이터에 접근하려고 시도하면 컴파일러는 오류를 일으킵니다.OOP에서이 기능은 데이터 숨기기라고 합니다.

C ++객체

클래스를 정의할 때는 객체의 규격만 정의합니다. 메모리나 저장 공간을 할당하지 않습니다.

클래스에서 정의된 데이터와 접근 함수를 사용하려면 객체를 생성해야 합니다.

C ++객체 정의 문법

className objectVariableName;

다음과 같은 방법으로 Test 클래스의 객체를 생성할 수 있습니다. (위의 예제에서 정의됨):

class Test
{
    private:
        int data1;
        float data2;  
    public:  
        void function1();
        {   data1 .data 2;  } 
        float function2();
        { 
            data2 .data 3.5;
            return data2;
        }
   };
int main()
{
    Test o1, o2;
}

이곳에서는 Test 클래스의 두 개의 객체 o1와 o2

위의 Test 클래스에서 data1및 data2는 데이터 멤버이며, function1()와 function2()는 멤버 함수입니다.

C에서 어떻게 ++에서 데이터 멤버와 멤버 함수에 접근할 수 있습니까?

을 사용하여 데이터 멤버와 멤버 함수에 접근할 수 있습니다. (. ) 연산자. 예를 들어,

o2.function1();

이는 Test 클래스에서 객체 o2function 호출1() 함수.

또한, 다음과 같은 방법으로 데이터 멤버에 접근할 수 있습니다:

o1(); 예제에서의 어떤 함수나 클래스도.2 .data 5.5;

중요한 것은, 프라이빗 멤버에 접근할 수 있는 것은 클래스 내부에서만입니다.

따라서, o를 사용하여2.function1코드 o1(); 예제에서의 어떤 함수나 클래스도.2 .data 5.5=

; 클래스 Test에서는 항상. ++예제: C

// C 프로그래밍에서의 객체와 클래스를 설명하기 위해 사용됩니다. ++프로그래밍에서 객체와 클래스의 작용을 설명하는 프로그램
#include <iostream>
using namespace std;
class Test
{
    private:
        int data1;
        float data2;
    public:
       
       void insertIntegerData(int d)
       {
          data1 = d;
          cout << "숫자: " << data1;
        }
       float insertFloatData()
       {
           cout << "\n입력 데이터: ";
           cin >> data2;
           return data2;
        }
};
 int main()
 {
      Test o1, o2;
      float secondDataOfObject2;
      o1.insertIntegerData(12);
      secondDataOfObject2 = o2.insertFloatData();
      cout << "당신이 입력하셨습니다 " << secondDataOfObject2;
      return 0;
 }

출력 결과

숫자: 12
입력 데이터: 23.3
당신이 입력하셨습니다 23.3

이 프로그램에서는 Test 클래스에서 두 개의 데이터 멤버 data1및 data2및 두 개의 멤버 함수 insertIntegerData()와 insertFloatData()를 정의합니다.

동일한 클래스의 두 개의 객체 o1와 o2

다음과 같은 방법으로 o1객체가 insertIntegerData() 함수를 호출합니다:

o1.insertIntegerData(12);

이렇게 하면 객체 o1의 data1이 값을 설정합니다.12

그런 다음, 객체 o를 호출합니다.2의 insertFloatData() 함수를 사용하여 함수의 반환 값을 변수 secondDataOfObject에 저장합니다.2에서:

secondDataOfObject2 = o2.insertFloatData();

이 프로그램에서 o1의 data2와 o2의 data1사용되지 않고 잔여 값이 포함되어 있습니다.

다음 주제를 확인하여 객체와 클래스에 대한更多信息를 알아보세요: