C 에서 사용자 정의 클래스 2 가지 자체 연산 코드 의 실현 과 차이
2511 단어 kezunlin.me
cpp i vs i for user defined class
Guide
code
#include
#include
#include
#include
#include
using namespace std;
class Integer
{
public:
Integer(int value): v(value)
{
cout << "default constructor" << endl;
}
Integer(const Integer &other)
{
cout << "copy constructor" << endl;
v = other.v;
}
Integer &operator=(const Integer &other)
{
cout << "copy assignment" << endl;
v = other.v;
return *this;
}
// i first 1,then return new value
Integer &operator ()
{
cout << "Integer::operator ()" << endl;
v ;
return *this;
}
// i first save old value,then 1,last return old value
Integer operator (int)
{
cout << "Integer::operator (int)" << endl;
Integer old = *this;
v ;
return old;
}
void output()
{
cout << "value " << v << endl;
}
private:
int v;
};
void test_case()
{
Integer obj(10);
Integer obj2 = obj;
Integer obj3(0);
obj3 = obj;
cout << "--------------" << endl;
cout << " i" << endl;
obj;
obj.output();
cout << "i " << endl;
obj ;
obj.output();
}
int main()
{
test_case();
return 0;
}
output
default constructor
copy constructor
default constructor
copy assignment
--------------
i
Integer::operator ()
value 11
i
Integer::operator (int)
copy constructor
value 12
Reference
History
Copyright
Copyright
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
C 에서 어떻게 CUDA 를 사용 하여 자주 사용 하 는 딥 러 닝 활성화 함 수 를 실현 합 니까?본문 은 개인 블 로그 에 처음 게재 되 었 다.https://kezunlin.me/post/ee123cac/, 최신 내용 을 읽 는 것 을 환영 합 니 다! how to implement deep learning ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.