Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- class fermion {
- protected:
- int spin; //spin/2
- int mass; //massa
- public:
- fermion(int s, int m) : spin(s), mass(m) {}
- fermion(const fermion& A) {spin=A.spin; mass=A.mass;}
- fermion(void) {spin=1; mass=1;}
- int s(void) {return spin;}
- int m(void) {return mass;}
- void print(const char c[]="\b") {printf("\nFermion %s: spin=%d/2, mass=%d",c,spin,mass); if(spin%2==0) printf("\tThis is not fermion!! It is BOSON");}
- friend fermion operator++(fermion&, int);
- friend bool operator >(fermion, fermion);
- fermion operator+(fermion A) {return fermion(A.spin+this->spin,A.mass+this->mass);}
- void operator=(const fermion& A) {spin=A.spin; mass=A.mass;}
- };
- fermion operator*(int,fermion);
- bool operator==(fermion,fermion);
- fermion operator*(int k, fermion A) {
- return fermion(A.s(),A.m()*k);
- }
- bool operator==(fermion A, fermion B) {
- return (A.s()==B.s() && A.m()==B.m())
- ? 1
- : 0;
- }
- fermion operator++(fermion& A, int) {
- A.spin=A.spin+1;
- return A;
- }
- bool operator >(fermion A, fermion B) {
- return (A.mass>B.mass)
- ? 1
- : 0;
- }
- int main() {
- fermion e1(1,1),e2(1,2),e3;
- e1.print(" e1");
- e2.print(" e2");
- e1=e1+e1+e1;
- e1.print(" e1");
- e3=e2+e2+e2;
- e3.print(" e3");
- if(e3>e1) printf("\ne3>e1");
- e3=10*e3;
- e3.print(" 10e3");
- e3++;
- e3.print(" 10e3++");
- e3++;
- e3.print("10e3++++");
- }
Advertisement
Add Comment
Please, Sign In to add comment