1. Not finding help here? Sign up for a free 30min tutor trial with Chegg Tutors
    Dismiss Notice
Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

C++ constructor question

  1. Feb 20, 2016 #1
    1. The problem statement, all variables and given/known data
    In the third constructor in the second snippet of code, I keep getting a compiler warning that hours, milli, seconds, and hours is not initialized in the constructor. Should I just set them equal to zero within that constructor? I have never worked with multiple constructors before, so if something looks really off, please let me know. Thanks!

    edit - I dont know why some things are showing up with a and in the code

    2. Relevant equations

    Code (C):

    //.h file

    #ifndef TIME_H_
    #define TIME_H_
    #include <iostream>
    #include <string>
    usingnamespace std;

    /**

    * Time class

    *

    * The Time class contains time as hours:minutes:seconds:milliseconds (AM/PM).

    */


    class Time

    {

    public:

    /**

    * Constructor with zero values

    */


        Time();



        /**

        * Constructors with arguments

        */


        Time(long time);

        Time(int hours, int minutes, int seconds, int milli);



        /**

        * Deconstructor

        */


        virtual~Time();



        /**

        * Return time as a long value representing time in milliseconds

        */


       long asLong() const;



        /**

        * Display as a string in the format hours:minutes:seconds:milliseconds.

        * For example 1:45:30:56 PM

        *

        * The time is displayed as 24 hours if the 24 hour flag is set true.

        */


        std::string toString() const;



        /**

        * Enable/disable 24 hour time display

        */


        void set24Hour(bool value);



        /**

        * Return true if 24 hour time display is enabled

        */


        bool is24Hour() const;



    private:



        int hours;

        int minutes;

        int seconds;

        int milli;

        long time;



        /**

        * Private members go here

        */


    };



    #endif/* TIME_H_ */

    Code (C):


    * Time.cpp
    *
    *
    */

    #include "Time.h"

    Time::Time()
    {
        hours=0;
        minutes=0;
        seconds=0;
        milli=0;
        time=0;
    }

    Time::Time(int hr, int min, int sec, int mil)
    {
        hours = hr;
        minutes = min;
        seconds = sec;
        milli = mil;
        time = 0;
    }

    Time::Time(long tm)
    {
        time = tm;
    }

    Time::~Time()
    {

    }
     
     
    Last edited by a moderator: Feb 20, 2016
  2. jcsd
  3. Feb 20, 2016 #2

    mfb

    User Avatar
    2016 Award

    Staff: Mentor

    Set it to whatever is reasonable for your class. If zero is a good choice, set them to zero.

    The [b] are probably some copied syntaxhighlighting, but those codes are not supported in code tags here.
     
  4. Feb 20, 2016 #3

    Mark44

    Staff: Mentor

    I removed them...
     
Know someone interested in this topic? Share this thread via Reddit, Google+, Twitter, or Facebook

Have something to add?
Draft saved Draft deleted



Similar Discussions: C++ constructor question
Loading...