sexta-feira, 11 de março de 2016

Const member functions

// Example 1 - constructor on const object

#include <iostream>

class Object{
    int num;
public:
    Object():num(0){};
    void moo() { std::cout << num++ <<std::endl;}
    void say() const {std::cout << "Hello"<<std::endl;}         
};

int main()
{
    const Object a;
    //a.moo();                                              //can not be modified.
    //a.moo();                                              //can not be modified.
    a.say();
    return 0;
}


// Example 2 - constructor on const object
#include <iostream>
using namespace std;

class MyClass {
  public:
    int x;
    MyClass(int val) : x(val) {}
    int get() {return x;}
};

int main() {
  const MyClass foo(10);
// foo.x = 20;            // not valid: x cannot be modified
  cout << foo.x << '\n';  // ok: data member x can be read
  return 0;
}

Nenhum comentário:

Postar um comentário