title: Any way to use base constructor in derived class?
body: <p>After using C# for the past decade or two, my C++ has gone a little rusty.</p>
  
  <p>If I have the following:</p>
  
  <pre><code>class CBase
  {
  public:
      CBase(LPCTSTR pszArg1, LPCTSTR pszArg2, LPCTSTR pszArg3);
      virtual ~CBase();
  
      // Etc...
  };
  
  class CDerived : CBase
  {
      // Etc...
  };
  </code></pre>
  
  <p>It appears I cannot create an instance of <code>CDerived</code>.</p>
  
  <blockquote>
    <p>no instance of constructor "CDerived::CDerived" matches the argument list</p>
  </blockquote>
  
  <p>I know I can create a derived constructor explicitly:</p>
  
  <pre><code>CDerived::CDerived(LPCTSTR pszArg1, LPCTSTR pszArg2, LPCTSTR pszArg3)
      : CBase(pszArg1, pszArg2, pszArg3)
  {
  }
  </code></pre>
  
  <p>But that seems like a lot of typing, particularly if I plan to derive many classes from the base class.</p>
  
  <p>The base class still needs those arguments one way or another. Is there a way to not have to rewrite this arguments for every derived class, "exposing" the base constructor perhaps, or must I absolutely always do as I've done above?</p>