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 {
public:
  MyClass(const int fieldInitValue) : myField_{fieldInitValue} {}

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

private:
  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
  my2->SetField(3);

  // 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

Featured

  • Vendors Update Controls for .NET Core 3.1, Blazor

    This week saw two third-party vendors of dev tools -- UX and UI toolkits and controls -- release new offerings that include support for two of Microsoft's main open source frameworks, the cross-platform .NET Core 3.1 and Blazor, which allows for creating browser-based web applications with C# instead of JavaScript.

  • C++ Is Focus of New Visual Studio 2019 v16.7 Preview 2

    C++ development is a focus point of the new Visual Studio 2019 v16.7 Preview 2, featuring a slew of tweaks and improvements touching upon remote SSH connections, IntelliSense support and more.

  • Clustering Non-Numeric Data Using C#

    Clustering non-numeric -- or categorial -- data is surprisingly difficult, but it's explained here by resident data scientist Dr. James McCaffrey of Microsoft Research, who provides all the code you need for a complete system using an algorithm based on a metric called category utility (CU), a measure how much information you gain by clustering.

  • So What's Up with Microsoft's (and Everyone Else's) Love of Rust?

    Microsoft already stewards several popular programming languages -- C#, TypeScript, F# -- so what's up with its love of Rust, along with the rest of the world?

  • C# Steps Up Programming Language Popularity Ladder

    Microsoft's C# programming language climbed a year-over-year notch on the TIOBE Index, which measures popularity among developers.

.NET Insight

Sign up for our newsletter.

Terms and Privacy Policy consent

I agree to this site's Privacy Policy.

Upcoming Events