C Class Kinds

Use “c class” to match all C Class entity kinds.

Kind Name
C Abstract Class Type
C Class Type
C Private Member Class Type
C Protected Member Class Type
C Public Member Class Type
C Unknown Class Type
C Unnamed Class Type
C Unnamed Private Member Class Type
C Unnamed Protected Member Class Type
C Unnamed Public Member Class Type
C Unresolved Class Type
C Unresolved Private Member Class Type
C Unresolved Protected Member Class Type
C Unresolved Public Member Class Type
C Unresolved Unnamed Class Type

An ordinary class is a class that is not a member in another class, and is not unnamed or unresolved.

class class_normal {                   // C Class Type
  int mem1;
}; 

An abstract class is a class with at least one pure virtual member function.

class c {                     // C Abstract Class Type 
  int virtual func1()=0; 
}; 

A class may itself be a member of another class. In this case it may be private, protected, or public.

class c { 
  private: class c_private {};  
                        // C Private Member Class Type 
}; 

A member class may be unnamed.

class A { 
  class {               // C Unnamed Class Type 
    int a; 
    } b; 
}; 

An unresolved class is a class that is known to exist but who’s definition is unknown. An unknown class is an unresolved class, but is also lacking any formal declaration.

class c_unresolved var_1;      // C Unresolved Class 
class c_unknown    var_2;      // C Unknown Class 

See Also: Enum Kinds, Function Kinds, Object Kinds, Struct Kinds, Typedef Kinds, and Union Kinds for entity kinds of Class Members.


Scientific Toolworks, Inc.
http://www.scitools.com