How can change the implementation of my code to make it more secure?

I am working on C++ application in which I focus on changing the implementation of my code to make it more secure, but I do have a couple of questions.

The first of two things I would like to change would be the following: change the access designation in the classes to prohibit the line that has the fido.name and how can I add content to the classes (both Dog and Cat) to permit access to the variables so that I can access the name attribute? Here is my source code and picture of a command prompt of what it looks like before the implementation. I know that it is going to output the command prompt I have attached below, but what steps do I need to do to implement the changes I would like to see above?

#include "stdafx.h"
#include <iostream>
#include <string>
#include <cstdlib>
using namespace std;

class Dog {
public:
string name;


public:
// constructor
Dog (string name) {
this->name = name;
cout << "Dog's name is " << name << endl;
}

};

class Cat {
public:
string name;
public:
// constructor
Cat (string name) {
this->name = name;
cout << "Cat's name is " << name << endl;
}

};

int main () {
Dog fido ("Fido");
Cat spot ("Spot");

// These 2 lines of code break the object-oriented paradigm in a major way
cout << "From main, the Dog's name is " << fido.name << endl;
cout << "From main, the Cat's name is " << spot.name << endl;
cout << "Hit any key to continue" << endl;
system ("pause");
 return 0;
}

This topic was automatically closed 91 days after the last reply. New replies are no longer allowed.