## Object class


Βασική κλάση που επιτρέπει τη χρήση μεθόδων διαθέσιμων για την κλάση [System.Object](./) σε C#. Όλες οι μη-τετριμμένες κλάσεις που χρησιμοποιούνται με το μεταφρασμένο περιβάλλον πρέπει να την κληρονομούν.

```cpp
class Object
```

## Μέθοδοι

| Μέθοδος | Περιγραφή |
| --- | --- |
| virtual [Equals](./equals/)(ptr) | Συγκρίνει αντικείμενα χρησιμοποιώντας τη σημασιολογία του C# [Object.Equals](./equals/). |
| static [Equals](./equals/)(T1 const\&, T2 const\&) | Συγκρίνει αντικείμενα τύπου αναφοράς σε στυλ C#. |
| static [Equals](./equals/)(T1 const\&, T2 const\&) | Συγκρίνει αντικείμενα τύπου τιμής σε στυλ C#. |
| static [Equals](./equals/)(float const\&, float const\&) | Εξομοιώνει τη σύγκριση κινητής υποδιαστολής σε στυλ C# όπου δύο NaN θεωρούνται ίσα, παρόλο που σύμφωνα με το IEC 60559:1989 το NaN δεν είναι ίσο με καμία τιμή, συμπεριλαμβανομένου του NaN. |
| static [Equals](./equals/)(double const\&, double const\&) | Εξομοιώνει τη σύγκριση κινητής υποδιαστολής σε στυλ C# όπου δύο NaN θεωρούνται ίσα, παρόλο που σύμφωνα με το IEC 60559:1989 το NaN δεν είναι ίσο με καμία τιμή, συμπεριλαμβανομένου του NaN. |
| virtual [FastCast](./fastcast/)(const Details::FastRttiBase\&, void **) const | Μόνο για εσωτερική χρήση. |
| [GetCounter](./getcounter/)() | Αποκτά τη δομή δεδομένων του μετρητή αναφορών που σχετίζεται με το αντικείμενο. |
| virtual [GetHashCode](./gethashcode/)() const | Αναλογία της C# [Object.GetHashCode()](./gethashcode/) μεθόδου. Ενεργοποιεί την κατακερματισμό προσαρμοσμένων αντικειμένων. |
| virtual [GetType](./gettype/)() const | Αποκτά τον πραγματικό τύπο του αντικειμένου. Αναλογία της κλήσης C# [System.Object.GetType()](./gettype/). |
| virtual [Is](./is/)(const TypeInfo\&) const | Ελέγχει αν το αντικείμενο αντιπροσωπεύει μια παρουσία του τύπου που περιγράφεται από το targetType. Αναλογία του C# τελεστή 'is'. |
| [Lock](./lock/)() | Υλοποιεί το κλείδωμα της δήλωσης C# lock(). Κλήση απευθείας ή χρήση του αντικειμένου [LockContext](../lockcontext/) sentry. |
| virtual [MemberwiseClone](./memberwiseclone/)() const | Αναλογία της C# [Object.MemberwiseClone()](./memberwiseclone/) μεθόδου. Ενεργοποιεί την κλωνοποίηση προσαρμοσμένων τύπων. |
| [Object](./object/)() | Δημιουργεί αντικείμενο. Αρχικοποιεί όλες τις εσωτερικές δομές δεδομένων. |
| [Object](./object/)(Object const\&) | Κατασκευαστής αντιγραφής. Στην πραγματικότητα δεν αντιγράφει τίποτα, απλώς αρχικοποιεί νέο αντικείμενο και επιτρέπει την αντιγραφή κατασκευής υποκατηγοριών. |
| [operator=](./operator=/)(Object const\&) | Τελεστής ανάθεσης. Στην πραγματικότητα δεν αντιγράφει τίποτα, απλώς αρχικοποιεί νέο αντικείμενο και επιτρέπει την αντιγραφή κατασκευής υποκατηγοριών. |
| static [ReferenceEquals](./referenceequals/)(ptr const\&, ptr const\&) | Συγκρίνει αντικείμενα κατά αναφορά. |
| static [ReferenceEquals](./referenceequals/)(T const\&, T const\&) | Συγκρίνει αντικείμενα κατά αναφορά. |
| static [ReferenceEquals](./referenceequals/)(T const\&, std::nullptr_t) | Το Reference-συγκρίνει αντικείμενο τύπου τιμής με nullptr. |
| [ReferenceEquals](./referenceequals/)(String const\&, std::nullptr_t) | Ειδική υλοποίηση του [Object::ReferenceEquals](./referenceequals/) για περίπτωση συμβολοσειράς και nullptr. |
| [ReferenceEquals](./referenceequals/)(String const\&, String const\&) | Ειδική υλοποίηση του [Object::ReferenceEquals](./referenceequals/) για περίπτωση συμβολοσειρών. |
| [RemovedSharedRefs](./removedsharedrefs/)(int) | Μειώνει τον κοινό μετρητή αναφορών κατά την καθορισμένη τιμή. |
| virtual [SetTemplateWeakPtr](./settemplateweakptr/)(uint32_t) | Ορίστε το n'th όρισμα προτύπου ως αδύναμο δείκτη (αντί για κοινόχρηστο). Επιτρέπει την εναλλαγή δεικτών σε containers σε αδύναμη λειτουργία. |
| [SharedCount](./sharedcount/)() const | Επιστρέφει την τρέχουσα τιμή του κοινόμετρου αναφορών. |
| [SharedRefAdded](./sharedrefadded/)() | Αυξάνει τον κοινό μετρητή αναφορών. Δεν πρέπει να καλείται άμεσα· αντί αυτού, χρησιμοποιήστε έξυπνα δείκτες ή ThisProtector. |
| [SharedRefRemovedSafe](./sharedrefremovedsafe/)() | Μειώνει και επιστρέφει τον κοινό μετρητή αναφορών. Δεν πρέπει να καλείται άμεσα· αντί αυτού, χρησιμοποιήστε έξυπνα δείκτες ή ThisProtector. |
| virtual [ToString](./tostring/)() const | Αναλογικό της μεθόδου C# [Object.ToString()](./tostring/). Επιτρέπει τη μετατροπή προσαρμοσμένων αντικειμένων σε συμβολοσειρά. |
| static [Type](./type/)() | Υλοποιεί την κατασκευή C# typeof([System.Object](./)). |
| [Unlock](./unlock/)() | Υλοποιεί το άνοιγμα της δήλωσης C# lock(). Καλέστε άμεσα ή χρησιμοποιήστε το αντικείμενο φρουρού [LockContext](../lockcontext/). |
| [WeakRefAdded](./weakrefadded/)() | Αυξάνει τον αδύναμο μετρητή αναφορών. Δεν πρέπει να καλείται άμεσα· αντί αυτού, χρησιμοποιήστε έξυπνα δείκτες ή ThisProtector. |
| [WeakRefRemoved](./weakrefremoved/)() | Μειώνει τον αδύναμο μετρητή αναφορών. Δεν πρέπει να καλείται άμεσα· αντί αυτού, χρησιμοποιήστε έξυπνα δείκτες ή ThisProtector. |
| virtual [~Object](./~object/)() | Καταστρέφει το αντικείμενο. Απελευθερώνει όλες τις εσωτερικές δομές δεδομένων. |
## Typedefs

| Typedef | Περιγραφή |
| --- | --- |
| [ptr](./ptr/) | Ψευδώνυμο για τον τύπο έξυπνου δείκτη. |
## Παρατηρήσεις


Μαζί με τις μεθόδους που διατίθενται στην κλάση C# [System.Object](./), παρέχει επίσης υποστήριξη για ορισμένες έννοιες ειδικές για το περιβάλλον μεταγλωττισμένου κώδικα. Αυτό περιλαμβάνει την καταμέτρηση αναφορών που χρησιμοποιείται από τις κλάσεις έξυπνων δεικτών ([System::SmartPtr](../smartptr/), [System::WeakPtr](../weakptr/), [System::DynamicWeakPtr](../dynamicweakptr/)) και άλλες υπηρεσίες σχετικές με τη διαχείριση μνήμης, τον εντοπισμό σφαλμάτων κ.ά.

Κάθε [Object](./) διαθέτει δύο μετρητές αναφορών: τον κοινό μετρητή αναφορών και τον αδύναμο μετρητή αναφορών. Ο αδύναμος μετρητής αναφορών αποθηκεύεται πάντα σε αποσπαστή δομή δεδομένων αντί στο ίδιο το [Object](./), επιτρέποντας στους αδύναμους δείκτες να υπερβιώνουν το αντικείμενο αναφοράς. Ο έξυπνος μετρητής αναφορών αποθηκεύεται είτε στο ίδιο το αντικείμενο είτε στην ίδια αποσπαστή δομή, ανάλογα με την κατάσταση του μακροεντολής ENABLE_EXTERNAL_REFCOUNT. Από προεπιλογή, είναι ενεργοποιημένο στις εκδόσεις debug και απενεργοποιημένο στις εκδόσεις release. Εάν ο μετρητής έξυπνου δείκτη αποθηκεύεται στο ίδιο το αντικείμενο, η αποσπαστή δομή δημιουργείται μόνο εάν υπάρχουν αδύναμοι δείκτες προς το αντικείμενο. Διαφορετικά, δημιουργείται παράλληλα με το ίδιο το αντικείμενο.

Όλοι οι έξυπνοι δείκτες χρησιμοποιούν αυτούς τους δύο μετρητές αναφορών και συμβάλλουν στην ίδια και μοναδική ομάδα ιδιοκτησίας.

Εάν η υποκλάση του [Object](./) δημιουργηθεί στη στοίβα, δεν μπορούν να δημιουργηθούν έξυπνοι δείκτες προς αυτήν· διαφορετικά προκύπτει πρόβλημα διαγραφής της στοίβας.

Αυτός ο τύπος μπορεί να εκχωρηθεί είτε στη στοίβα ως τύπος τιμής είτε στη σωρού χρησιμοποιώντας τη συνάρτηση [System::MakeObject()](../makeobject/). Μόλις το αντικείμενο εκχωρηθεί, μην αναμειγνύετε ποτέ αυτές τις δύο περιπτώσεις χρήσης: η ύπαρξη δεικτών [SmartPtr](../smartptr/) προς αντικείμενα που έχουν εκχωρηθεί στη στοίβα απαγορεύεται αυστηρά.
## Δείτε επίσης

* Namespace [System](../)
* Library [Aspose.Page for C++](../../)
