What .NET Developers Must Know about C++ Classes: Listing 2

An assignment between two C++ objects.

#include <iostream>

using namespace std;

class MyClass {
public:
  MyClass(const int fieldInitValue) : myField_{fieldInitValue} {}

  int GetField() { return myField_; } const
  void SetField(const int value) { myField_ = value; }

private:
  int myField_;
};
// pay attention to the ending semicolon in class declarations like
// above. It can't be ommitted in C++.

int main(int argc, char* argv[]) {
  MyClass my1 { 5 }, my2 { my1 };
  // my1 and my2 are (don't refer to) different instances
  my2.SetField(3);

  // my1 prints "5"; my2 does "3"
  cout << "my1.MyField = " << my1.GetField() << ", my2.MyField = " << my2.GetField() << endl;
}

About the Author

Diego Dagum is a software architect and developer with more than 20 years of experience. He can be reached at email@diegodagum.com.