1. PF Contest - Win "Conquering the Physics GRE" book! Click Here to Enter
    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!

Don't know what a empty default constructor does

  1. Feb 27, 2010 #1
    1. The problem statement, all variables and given/known data I dont know what the


    means. I thought a default constructor is meant to initialize private data fields. There is not initialization. That code segment is from

    #include <iostream>
    #include <string>

    using namespace std;

    class Person
    Person(string pname, int page);
    string get_name() const;
    int get_age() const;
    string name;
    int age; /* 0 if unknown */


    Person::Person(string pname, int page)
    name = pname;
    age = page;

    string Person::get_name() const
    return name;

    int Person::get_age() const
    return age;

    void main()
    Person f("Fred", 20);
    cout << f.get_name() << " is " <<
    f.get_age() << " years old.\n";
  2. jcsd
  3. Feb 27, 2010 #2


    User Avatar
    Science Advisor
    Homework Helper

    It's not necessary, the compiler will silently create this behind the scenes.
    It is good practice to write this, just as a place holder for when you do have to add some initialisation code.
  4. Feb 28, 2010 #3
    Oh i see. So default constructors are usually unnecessary? I'm guessing that its because that regular constructor already initializes the data in the data field.
Know someone interested in this topic? Share this thread via Reddit, Google+, Twitter, or Facebook