VOLDEMAR , 첫 번째 게시물을 작성하는 경우 클래스가 있는 이유는 무엇입니까? 클래스 작성은 프로그램의 복잡성의 결과입니다. 개별 요소에 많은 외부 링크가 있는 경우 이러한 모든 요소를 결합하고 간단한 인터페이스를 생성하는 클래스가 생성됩니다. 제 생각에는 클래스의 필수 속성은 데이터(ints, doubles ...) - 함수가 작동하는 재료, 클래스는 모든 것을 하나의 패키지(데이터 및 함수)로 묶습니다. 이것이 앗. 예를 들어 두 가지 예가 있습니다. 첫 번째는 oop가 없고 두 번째는 oop이 있습니다.
void sum(int &i1, int &i2, int val)
{
i1 += val;
i2 += val;
}
int get_number(int &i1, int &i2)
{
return i1 + i2;
}
void main() // главная функция программы
{
int i1, i2;
sum(i1, i2, 56 );
any_fn(get_number(i1, i2)); // какое-то действие с нашей суммой.
}
class QQ
{
int i1;
int i2;
public :
void sum( int val)
{
this ->i1 += val;
this ->i2 += val;
}
int get_number()
{
returnthis ->i1 + this ->i2;
}
};
void main() // главная функция программы
{
QQ q;
q.sum( 56 );
any_fn(q.get_number()); // какое-то действие с нашей суммой.
}
두 번째 예에서는 함수가 작동할 데이터에 대해 걱정할 필요가 없습니다. 이것이 OOP의 주요 목표라고 생각합니다.
규칙이 있습니다. 소멸자를 비우지 마십시오. 소멸자가 없다는 것은 클래스 단순성을 나타내는 지표입니다. 소멸자가 작성되면 복사 생성자와 = 연산자를 작성하거나 금지해야 할 수 있습니다. 예시:
struct S {};
class QQ
{
S *p;
public :
QQ() { this ->p = new S;}
~QQ() { deletethis ->p;}
};
void main()
{
QQ q;
QQ q2 = q;
}
결과적으로 동일한 포인터에 대해 삭제가 두 번 호출됩니다. 이대로가 맞을거야
class QQ
{
S *p;
public :
QQ() { this ->p = new S;}
~QQ() { deletethis ->p;}
QQ(QQ &); // Только объявляем, определения нигде нет.
QQ & operator =(QQ &); // Только объявляем, определения нигде нет.
};
//илиclass QQ
{
S *p;
public :
QQ() { this ->p = new S;}
~QQ() { deletethis ->p;}
QQ(QQ &q) { this ->p = new S(*q.p);}
QQ & operator =(QQ &q) {*this->p = *q.p;}
};
저것들. 소멸자를 작성해야 하는 경우 신중하게 생각해야 합니다. Opera.= 및 복사 생성자로 무엇을 해야 할까요? 삭제, 쓰기...? 소멸자를 비워 쓸 가치가 없다고 생각합니다. 소멸자가 없다는 것은 위의 작업을 다시 수행하는 것이 무의미하다는 표시입니다.
추가하다.
나는 추가 ))
원의 경우 한 가지 방법으로, 정사각형의 경우 다른 방법으로 계산됩니다. 하지만 어쨌든 - Figura.GetSquare() 를 호출하여 ,
그리고 침묵...
글쎄, 그것은 2x2=?와 같은 질문이었다.
답변에 관심이 없습니다.
==================
어쩌면 더 가깝습니다.
클래스에는 Open(), Close(), Read(), Write() 등의 표준 가상 메서드 집합이 있습니다.
이 클래스는 파일, 매핑, 채널, 인터넷 등으로 작업할 수 있습니다.
이러한 방법의 채우기(설명)만 다릅니다. 그러나 클래스 인터페이스는 동일할 것입니다.
그것이 이미 주제의 세 번째 페이지이고 아무도 예제로 한 줄의 코드를 제공하지 않았다는 것이 의심스럽지 않습니까 ???
게다가 답도 재미없고 기초적인데 너무 간단해서 코딩하기 너무 귀찮아서...
누군가가 뭔가를 알고 있다면 그들이 대답 할 것이라고 생각합니다 ...
VOLDEMAR , 첫 번째 게시물을 작성하는 경우 클래스가 있는 이유는 무엇입니까? 클래스 작성은 프로그램의 복잡성의 결과입니다. 개별 요소에 많은 외부 링크가 있는 경우 이러한 모든 요소를 결합하고 간단한 인터페이스를 생성하는 클래스가 생성됩니다. 제 생각에는 클래스의 필수 속성은 데이터(ints, doubles ...) - 함수가 작동하는 재료, 클래스는 모든 것을 하나의 패키지(데이터 및 함수)로 묶습니다. 이것이 앗. 예를 들어 두 가지 예가 있습니다. 첫 번째는 oop가 없고 두 번째는 oop이 있습니다.
두 번째 예에서는 함수가 작동할 데이터에 대해 걱정할 필요가 없습니다. 이것이 OOP의 주요 목표라고 생각합니다.
아, 그리고 코드에 대해 한 가지 더:
... class vr_trade { ... ~vr_trade(){} }; ...
규칙이 있습니다. 소멸자를 비우지 마십시오. 소멸자가 없다는 것은 클래스 단순성을 나타내는 지표입니다. 소멸자가 작성되면 복사 생성자와 = 연산자를 작성하거나 금지해야 할 수 있습니다. 예시:
결과적으로 동일한 포인터에 대해 삭제가 두 번 호출됩니다. 이대로가 맞을거야
저것들. 소멸자를 작성해야 하는 경우 신중하게 생각해야 합니다. Opera.= 및 복사 생성자로 무엇을 해야 할까요? 삭제, 쓰기...? 소멸자를 비워 쓸 가치가 없다고 생각합니다. 소멸자가 없다는 것은 위의 작업을 다시 수행하는 것이 무의미하다는 표시입니다.
두 번째 방법에서 많은 오류와 경고가 발생하는 이유는 무엇입니까?
이 뒤에 -> 대신 점을 넣으십시오. mql 칩.
단계를 설명해주세요
즉
왜 기호(:)이며 이 기호로 무엇을 얻을 수 있습니까?