Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. General Programming
  3. C / C++ / MFC
  4. constructor / destructor in template class

constructor / destructor in template class

Scheduled Pinned Locked Moved C / C++ / MFC
helpquestion
4 Posts 3 Posters 0 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • A Offline
    A Offline
    act_x
    wrote on last edited by
    #1

    template class CProtectedVariable { CProtectedVariable() { } ; ~CProtectedVariable() { } protected : T m_Var ; } ; when i do this and include this another class as a member. I am getting a few compiler errors #include "Protected.h" class OutSideClass { protected : CProtectedVariable m_initState ; }; error C2248: 'CProtectedVariable::CProtectedVariable' : cannot access private member declared in class 'CProtectedVariable' 1> with 1> [ 1> T=bool 1> ] What am I missing here ?

    Engineering is the effort !

    CPalliniC D 2 Replies Last reply
    0
    • A act_x

      template class CProtectedVariable { CProtectedVariable() { } ; ~CProtectedVariable() { } protected : T m_Var ; } ; when i do this and include this another class as a member. I am getting a few compiler errors #include "Protected.h" class OutSideClass { protected : CProtectedVariable m_initState ; }; error C2248: 'CProtectedVariable::CProtectedVariable' : cannot access private member declared in class 'CProtectedVariable' 1> with 1> [ 1> T=bool 1> ] What am I missing here ?

      Engineering is the effort !

      CPalliniC Offline
      CPalliniC Offline
      CPallini
      wrote on last edited by
      #2

      OutSideClass cannot instantiate its m_initState member because CProtectedVariable constructor is private (private is the default access specifier for a class). You may change

      template <class T>
      class CProtectedVariable
      {
      CProtectedVariable()
      ..
      };

      into

      template <class T>
      class CProtectedVariable
      {
      public:
      CProtectedVariable()
      ..
      };

      :)

      If the Lord God Almighty had consulted me before embarking upon the Creation, I would have recommended something simpler. -- Alfonso the Wise, 13th Century King of Castile.
      This is going on my arrogant assumptions. You may have a superb reason why I'm completely wrong. -- Iain Clarke

      In testa che avete, signor di Ceprano?

      A 1 Reply Last reply
      0
      • A act_x

        template class CProtectedVariable { CProtectedVariable() { } ; ~CProtectedVariable() { } protected : T m_Var ; } ; when i do this and include this another class as a member. I am getting a few compiler errors #include "Protected.h" class OutSideClass { protected : CProtectedVariable m_initState ; }; error C2248: 'CProtectedVariable::CProtectedVariable' : cannot access private member declared in class 'CProtectedVariable' 1> with 1> [ 1> T=bool 1> ] What am I missing here ?

        Engineering is the effort !

        D Offline
        D Offline
        David Crow
        wrote on last edited by
        #3

        act_x wrote:

        What am I missing here ?

        Code inside of <> brackets. Remove the < bracket and click the < button above the smileys instead. You might also consider using <pre> instead of <code>, too.

        "Normal is getting dressed in clothes that you buy for work and driving through traffic in a car that you are still paying for, in order to get to the job you need to pay for the clothes and the car and the house you leave vacant all day so you can afford to live in it." - Ellen Goodman

        "To have a respect for ourselves guides our morals; to have deference for others governs our manners." - Laurence Sterne

        1 Reply Last reply
        0
        • CPalliniC CPallini

          OutSideClass cannot instantiate its m_initState member because CProtectedVariable constructor is private (private is the default access specifier for a class). You may change

          template <class T>
          class CProtectedVariable
          {
          CProtectedVariable()
          ..
          };

          into

          template <class T>
          class CProtectedVariable
          {
          public:
          CProtectedVariable()
          ..
          };

          :)

          If the Lord God Almighty had consulted me before embarking upon the Creation, I would have recommended something simpler. -- Alfonso the Wise, 13th Century King of Castile.
          This is going on my arrogant assumptions. You may have a superb reason why I'm completely wrong. -- Iain Clarke

          A Offline
          A Offline
          act_x
          wrote on last edited by
          #4

          ahh that was silly. Sorry for bothering u guys . Never thought it was an access issue !

          Engineering is the effort !

          1 Reply Last reply
          0
          Reply
          • Reply as topic
          Log in to reply
          • Oldest to Newest
          • Newest to Oldest
          • Most Votes


          • Login

          • Don't have an account? Register

          • Login or register to search.
          • First post
            Last post
          0
          • Categories
          • Recent
          • Tags
          • Popular
          • World
          • Users
          • Groups