• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 462
  • Last Modified:

C++ Class Validation

I am trying to figure out how to verify that the assignment of the character array and the ssn actually have something in it, but I am having difficulty in setting that up.  The ssn is not supposed to be =< 0 and the name is not supposed to be blank.  

How do I revert to the default constructor if the values entered ( programmed into ) since there is no input do not meet the required specs?  


#include <iostream>
#include <iomanip>
using namespace std;
class Student
      // private member variables
              long socialSecurity;
              char name[80];
      // public variables / methods       
             // default constructor
             Student(char *n="unassigned",long sn=999999999);
             // Name get / set
             void setName(char *n);
             char *Student::getName();
             // Social Security set / get
             void setSSN(long sn);
             long getSSN();
// default constructor
Student::Student(char *n, long sn)
    strcpy(name, n);
    socialSecurity = sn;
// implementation section
void Student::setName(char *n)
         strcpy(name, n);
// Student setSSN()
void Student::setSSN(long sn)
     socialSecurity = sn;
char *Student::getName()
     return name;
// Student getSSN
long Student::getSSN()
     return socialSecurity;
int main()
    // instantiate class objects
    Student student1;
    Student student2;
    // set class object 2
    student2.setName("John Doe");   
    // class output
    // output stream for student 1 using default constructor
       cout << "The name for student1 is " << student1.getName()
            << " and ssn is " << student1.getSSN() << endl;
    // output stream for student 2
       cout << "The name for student2 is " << student2.getName() 
            << " and ssn is " << student2.getSSN() << endl;
    return 0;

Open in new window

  • 2
1 Solution
What you have to do is the followiing:
Keep the constructor you already implemented and then add an empty constructor where you use the set members
It should be something like this: in the definition part

 Student(char *n="unassigned",long sn=999999999);

In the implementation keep the constructor you already did and add the other one


lwoodtriAuthor Commented:
Cool, I got that part . . however . . what if the assignment happens to be 0 or -1 for the value of SSN?  Would I use an

if ( ssn =< 0 || ssn > 999999999)?

would that work for validation?  
For sure that would work!
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Free Tool: SSL Checker

Scans your site and returns information about your SSL implementation and certificate. Helpful for debugging and validating your SSL configuration.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now