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 protected].

comments powered by Disqus

Featured

  • Data Science Pack for VS Code Bundles Python, Data and Copilot Tools

    New extension pack bundles wildly popular tools for Python development, assisted by the AI-powered GitHub Copilot and a data wrangler.

  • Lessons Learned Building a GenAI-Powered App

    Sometimes, complex technical achievements are best explained through one example. That's the approach Mete Atamel, Developer Advocate at Google, is taking as he makes the rounds detailing the capabilities of Vertex AI and associated tooling on the Google Cloud Platform.

  • 30th Annual Visual Studio Magazine Reader's Choice Awards Announced

    For the 30th year in a row, Visual Studio Magazine readers have chosen the best tools and services for developers. The 2024 winners are honored in 43 categories, from component suites to testing tools to AI helpers.

  • Another Report Weighs In on GitHub Copilot Dev Productivity: 👎

    Several reports have answered "yes" to the question of whether GitHub Copilot improves developer productivity. A new one says "no."

Subscribe on YouTube