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
CODE PROJECT For Those Who Code
  • Home
  • Articles
  • FAQ
Community
  1. Home
  2. General Programming
  3. C / C++ / MFC
  4. what is a static class

what is a static class

Scheduled Pinned Locked Moved C / C++ / MFC
c++question
20 Posts 7 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.
  • T toxcct

    static class, no. static instance of a class yes. please explain where you heard this, and what you want to be detailed...


    TOXCCT >>> GEII power

    [VisualCalc 3.0  updated ][Flags Beginner's Guide  new! ]

    K Offline
    K Offline
    kumar_mk
    wrote on last edited by
    #11

    hello toxcct, it was asked to me in an interview, u r saying we have a static class , like static class A{ ----- }; and if i create an object for it what happens??? kk

    T T 2 Replies Last reply
    0
    • C Cedric Moonen

      kumar_windows wrote:

      is there any thing like static class in c++

      What do you mean exactly ? Can you be more explicit and explain what you want to do exactly ? Yes, you can declare a class static like any other variable but I don't know if this is what you are looking for.


      Cédric Moonen Software developper
      Charting control -- modified at 9:43 Friday 12th May, 2006 Sorry, not very clear :~ . As toxxct said (and what I meant by saying that) is declaring an instance of a class static, not the class itself

      K Offline
      K Offline
      kumar_mk
      wrote on last edited by
      #12

      hello cedric, it was an interview question, u mean to say i can declare a class as static like static class A{----}; what is its purpose, please elaborate on single instance of a class, u mean when i create an object for this class thanks kk

      1 Reply Last reply
      0
      • T ThatsAlok

        kumar_windows wrote:

        is there any thing like static class in c++

        Are you looking something like SingleTon Classes[^]?

        "Opinions are neither right nor wrong. I cannot change your opinion. I can, however, change what influences your opinion." - David Crow

        cheers, Alok Gupta VC Forum Q&A :- I/ IV

        K Offline
        K Offline
        kumar_mk
        wrote on last edited by
        #13

        hi alok, no not a singleton class, it was an interview question abt the static class, do we have it just like a static member variable and static function, wat is its significance/purpose?? can i create an object for this static class?? wat happens? thank u, kk

        1 Reply Last reply
        0
        • K kumar_mk

          hello toxcct, it was asked to me in an interview, u r saying we have a static class , like static class A{ ----- }; and if i create an object for it what happens??? kk

          T Offline
          T Offline
          toxcct
          wrote on last edited by
          #14

          dude !!! didn't you read what i said, or didn't you understand ? when i say you cannot define a class as static, it means that you CANNOT define a class like you do :

          static class CFoo { // No !!! compilation error
          // You cannot apply the static keyword to a type definition
          //...

          };

          what i said however is that you are allowed to declare an instance of a class as static, that means a variable which type is a user-defined type :

          #include "Foo.h"

          static CFoo foo; // Allowed ! foo variable of type CFoo is static

          now, what don't you understand ? you'd certainly google the internet or even better, search a good C++ book for static concept...


          TOXCCT >>> GEII power

          [VisualCalc 3.0  updated ][Flags Beginner's Guide  new! ]

          1 Reply Last reply
          0
          • K kumar_mk

            is there any thing like static class in c++ thank u kk.

            M Offline
            M Offline
            Maxwell Chen
            wrote on last edited by
            #15

            The code snipet below demonstrates the variable instance obj to be static not the type Type, even though it would be confusing you.

            #include <iostream>

            int main()
            {
            static class Type
            {
            public:
            void Hello() { std::cout << "Type::Hello() \n"; }
            } obj;
            obj.Hello();
            return 0;
            }

            Which is equivelent to:

            #include <iostream>

            int main()
            {
            class Type
            {
            public:
            void Hello() { std::cout << "Type::Hello() \n"; }
            };
            static Type obj;
            obj.Hello();
            return 0;
            }


            Maxwell Chen

            T 1 Reply Last reply
            0
            • M Maxwell Chen

              The code snipet below demonstrates the variable instance obj to be static not the type Type, even though it would be confusing you.

              #include <iostream>

              int main()
              {
              static class Type
              {
              public:
              void Hello() { std::cout << "Type::Hello() \n"; }
              } obj;
              obj.Hello();
              return 0;
              }

              Which is equivelent to:

              #include <iostream>

              int main()
              {
              class Type
              {
              public:
              void Hello() { std::cout << "Type::Hello() \n"; }
              };
              static Type obj;
              obj.Hello();
              return 0;
              }


              Maxwell Chen

              T Offline
              T Offline
              toxcct
              wrote on last edited by
              #16

              i hesitated to show off this example, but finally didn't, thinking it would confuse most beginners around. by the way, it is perfectly legal to do so, as we declare a variable with the type definition inlined...


              TOXCCT >>> GEII power

              [VisualCalc 3.0  updated ][Flags Beginner's Guide  new! ]

              M 1 Reply Last reply
              0
              • T toxcct

                i hesitated to show off this example, but finally didn't, thinking it would confuse most beginners around. by the way, it is perfectly legal to do so, as we declare a variable with the type definition inlined...


                TOXCCT >>> GEII power

                [VisualCalc 3.0  updated ][Flags Beginner's Guide  new! ]

                M Offline
                M Offline
                Maxwell Chen
                wrote on last edited by
                #17

                And a further example to demonstrate that the member variables are not shared among individual static instances.

                #include <iostream>

                static class Type
                {
                int v;
                public:
                void Hello() {
                std::cout << "Type::Hello() \nv = " << v << " \n";
                }
                void Hello(int n) {
                v = n;
                std::cout << "Type::Hello(" << v << ") \n";
                }
                } g_obj, g_objx;

                int main()
                {
                std::cout << "g_obj \n";
                g_obj.Hello(3);
                g_obj.Hello();
                std::cout << "g_objx \n";
                g_objx.Hello();
                return 0;
                }

                The output goes to:

                g_obj
                Type::Hello(3)
                Type::Hello()
                v = 3
                g_objx
                Type::Hello()
                v = 0


                Maxwell Chen

                1 Reply Last reply
                0
                • K kumar_mk

                  is there any thing like static class in c++ thank u kk.

                  S Offline
                  S Offline
                  Stephen Hewitt
                  wrote on last edited by
                  #18

                  C# has the concept of a static class: a static class is a class that contains only static members and instances can't be created with the new keyword. C++ has no such concept; although you can create classes with only static members you do so explictly and the compiler will not stop you from adding a non-static member. Steve

                  1 Reply Last reply
                  0
                  • K kumar_mk

                    hello toxcct, it was asked to me in an interview, u r saying we have a static class , like static class A{ ----- }; and if i create an object for it what happens??? kk

                    T Offline
                    T Offline
                    ThatsAlok
                    wrote on last edited by
                    #19

                    kumar_windows wrote:

                    u r saying we have a static class , likestatic class A{ ----- };and if i create an object for it what happens???

                    Dude There is nothing like Static class, as class doesnot have any address till is object is created, so how can you make anything static which doesn't exist till it object is created

                    "Opinions are neither right nor wrong. I cannot change your opinion. I can, however, change what influences your opinion." - David Crow

                    cheers, Alok Gupta VC Forum Q&A :- I/ IV

                    1 Reply Last reply
                    0
                    • K kumar_mk

                      is there any thing like static class in c++ thank u kk.

                      N Offline
                      N Offline
                      Nemanja Trifunovic
                      wrote on last edited by
                      #20

                      kumar_windows wrote:

                      is there any thing like static class in c++

                      No.


                      My programming blahblahblah blog. If you ever find anything useful here, please let me know to remove it.

                      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