In Java
, there is what is called package
. Does library
in C++
represent the same meaning, especially in terms for example of containg relative classes and the use of protected members?
Thanks.
Packages are namespaces. There are uncountable "Util" classes, but you can uniquely identify them because of their fully qualified name that is the package + class name. A library is a set of classes that concur to provide a feature/functionality. Maybe you mean unlimited but not uncountable.
However, it is often assumed that while a package is a collection of modules, a library is a collection of packages.
Java comes with a core set of libraries, including those that define commonly used data types and related behavior, like String or Date; utilities to interact with the host operating system, such as System or File; and useful subsystems to manage security, deal with network communications, and create or parse XML.
As an alternative of Packages in Java, the C# language has namespace.
There are different dimensions of what a package
means in Java. As a container that differentiates the names of the classes inside from the names of classes in other packages, its equivalent would be c++ namespaces
.
As a unit that guarantees access to non-private members to classes in the same block, there is no equivalent in C++. The access level granted to a class is independent of the namespace where the class is defined.
As a way of ordering your sources in the disk, there is no equivalent, the C++ language has no requirements on how the code is stored in files.
Regarding c++ libraries, that is closer to jar
files in Java. They bundle different classes that share some relation. A jar can contain more than one package, and more than one jar can contain classes from the same package. Similarly with libraries, they can contain classes from different namespaces and/or different libraries can contain classes from the same namespace.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With