Quantcast
Channel: Programming Forums
Viewing all articles
Browse latest Browse all 51036

'Date::Date()' is private

$
0
0
I cannot run this program because 'Date::Date()' is private and error at 'Date toDay' in main. However if my members are in public, not private then I get no problem. Can someone please tell me what my mistakes are? How can I access these private members? Thank you in advance.

Date.h file:
#ifndef DATE_H_INCLUDED
#define DATE_H_INCLUDED

class Date
{
    private:
        int m_nMonth;
        int m_nDay;
        int m_nYear;

        Date() {} // private default constructor

    public:

    Date(int nMonth, int nDay, int nYear);

    void SetDate(int nMonth, int nDay, int nYear);

    int GetMonth() { return m_nMonth; }
    int GetDay() { return m_nDay; }
    int GetYear() { return m_nYear; }
};

#endif // DATE_H_INCLUDED

Date.cpp file:
#include "Date.h"

// Date constructor
Date::Date(int nMonth, int nDay, int nYear)
{
    SetDate(nMonth, nDay, nYear);
}

// Date member function
void Date::SetDate(int nMonth, int nDay, int nYear)
{
    m_nMonth = nMonth;
    m_nDay = nDay;
    m_nYear = nYear;
}


main.cpp file:
#include "Date.h"
#include <iostream>
using namespace std;

int main()
{
    Date toDay;
    toDay.SetDate(10, 12, 1962);
    cout << toDay.GetMonth() << endl;
    cout << toDay.GetDay() << endl;
    cout << toDay.GetYear() << endl;

    return 0;
}



Viewing all articles
Browse latest Browse all 51036

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>