C plus plus program using operator overloading?

1 answer

Answer

1203070

2026-07-16 12:45

+ Follow

class foo

{

private:

int m_data;

public:

foo (int data=0): m_data (data) {}

foo (const foo& source): m_data (source.m_data) {}

foo (foo& source): m_data (std::move (source.m_data)) {}

// operator overloads: assign

foo& operator= (const int source) { m_data = source; return *this; }

foo& operator= (const foo& source) { m_data = source.m_data; return *this; }

foo& operator= (foo& source) { m_data = std::move (source.m_data); return this; }

// compound operator overloads: increment and assign

foo& operator+= (const foo& rhs) { m_data += rhs.m_data; return *this; }

foo& operator+= (const int rhs) { m_data += rhs; return *this; }

};

ReportLike(0ShareFavorite

Copyright © 2026 eLLeNow.com All Rights Reserved.