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

An assignment between two C++ pointers to an object.

#include <iostream>
#include <memory>

using namespace std;

// same as in Listing 2. No changes.
class MyClass {
  MyClass(const int fieldInitValue) : myField_{fieldInitValue} {}

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

  int myField_;

int main(int argc, char* argv[]) {
  shared_ptr<MyClass> my1 { make_shared<MyClass>(5) }, my2 { my1 };
  // Both my1 and my2 refer to a same instance

  // Both print "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 protected]

comments powered by Disqus


.NET Insight

Sign up for our newsletter.

Terms and Privacy Policy consent

I agree to this site's Privacy Policy.

Upcoming Events