Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- class A {
- private:
- int val;
- public:
- A() : val(0) {
- std::cout << "A()" << std::endl;
- }
- ~A() {
- std::cout << "~A() | val: " << val << std::endl;
- }
- A(const A& a) : val(a.val) {
- std::cout << "A(const A& a) | a.val: " << a.val << std::endl;
- }
- A(int v) : val(v) {
- std::cout << "A(int v) | v: " << v << std::endl;
- }
- A& operator =(const A& a) {
- std::cout << "operator =(const A& a) | a.val: " << a.val << std::endl;
- val = a.val;
- return *this;
- }
- A& operator =(int v) {
- std::cout << "operator =(int v) | v: " << v << std::endl;
- val = v;
- return *this;
- }
- operator int() const {
- std::cout << "operator int() const | return: " << val << std::endl;
- return val;
- }
- };
- int main() {
- std::cout << "-----------------------------------------------" << std::endl;
- A a = 1;
- const A& ra = a > 0 ? a : A(7);
- std::cout << "-----------------------------------------------" << std::endl;
- a = 2;
- std::cout << "-----------------------------------------------" << std::endl;
- std::cout << a << std::endl << ra << std::endl;
- std::cout << "-----------------------------------------------" << std::endl;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement