Articles of constructeur

Destructeurs de types intégrés (int, char, etc.)

En C ++, le code suivant donne une erreur de compilation: void destruct1 (int * item) { item->~int(); } Ce code est à peu près le même, je saisis simplement l’int en un autre type et quelque chose de magique se produit: typedef int myint; void destruct2 (myint * item) { item->~myint(); } Pourquoi le […]

C # constructeurs en surcharge

Comment puis-je utiliser des constructeurs dans C # comme ceci: public Point2D(double x, double y) { // … Contracts … X = x; Y = y; } public Point2D(Point2D point) { if (point == null) ArgumentNullException(“point”); Contract.EndContractsBlock(); this(point.X, point.Y); } J’en ai besoin pour ne pas copier le code d’un autre constructeur …

Comment appeler le constructeur de la classe de base?

latley J’ai passé beaucoup de programmation en Java. Vous appelez la classe dont vous avez hérité avec super(); (vous le savez probablement tous) J’ai maintenant une classe en C ++ qui a un constructeur par défaut qui prend quelques arguments. Exemple: class BaseClass { public: BaseClass(char *name); …. Si j’hérite de la classe, il me […]

Comment puis-je forcer un constructeur à être défini dans toutes les sous-classes de ma classe abstraite

J’ai une classe abstraite A qui définit des méthodes abstraites. Cela signifie que, pour qu’une classe soit instanciable, toute la méthode abstraite doit être implémentée. Je voudrais que toutes mes sous-classes implémentent un constructeur avec 2 ints comme parameters. Déclarer un constructeur va à l’encontre de mon objective, car je veux que le constructeur soit […]

La nouvelle fonctionnalité d’initialisation des membres C ++ 11 à la déclaration a-t-elle rendu les listes d’initialisation obsolètes?

Avec C ++ 11, nous avons maintenant la possibilité d’initialiser les membres de classe dans une déclaration d’en-tête: class aClass { private: int mInt{100}; public: aClass(); ~aClass(); }; Donc je suis un peu confus. Traditionnellement, les listes d’initialisation dans les constructeurs ont été utilisées pour l’initialisation des membres: aClass::aClass() : mInt(100) { … } La […]

Fonction virtuelle C ++ du constructeur

Pourquoi l’exemple suivant affiche “0” et que faut-il changer pour qu’il affiche “1” comme prévu? #include struct base { virtual const int value() const { return 0; } base() { std::cout << value() << std::endl; } virtual ~base() {} }; struct derived : public base { virtual const int value() const { return 1; } […]

Pourquoi ne puis-je pas créer un constructeur abstrait sur une classe C # abstraite?

Je crée un cours abstrait. Je veux que chacune de mes classes dérivées soit obligée d’implémenter une signature spécifique du constructeur. En tant que tel, j’ai fait ce que j’aurais fait si je voulais les forcer à mettre en œuvre une méthode, j’en ai fait une abstraite. public abstract class A { abstract A(int a, […]

JUnit: utilisation du constructeur au lieu de @Before

J’utilise JUnit 4. Je ne vois pas la différence entre l’initialisation dans le constructeur ou l’utilisation d’une fonction init dédiée annotée par @Before . Est-ce que cela signifie que je n’ai pas à m’en soucier? Y at-il des cas où @Before donne plus que juste l’initialisation dans le constructeur?

Pourquoi les constructeurs Java ne peuvent-ils pas être synchronisés?

Selon la spécification de langage Java , les constructeurs ne peuvent pas être marqués synchronisés car les autres threads ne peuvent pas voir l’object créé tant que le thread qui l’a créé ne l’a pas terminé. Cela semble un peu étrange, car je peux en effet avoir un autre thread pour voir l’object pendant sa […]

Pourquoi les constructeurs enum ne peuvent-ils pas être protégés ou publics en Java?

Toute la question est dans le titre. Par exemple: enum enumTest { TYPE1(4.5, “ssortingng1”), TYPE2(2.79, “ssortingng2”); double num; Ssortingng st; enumTest(double num, Ssortingng st) { this.num = num; this.st = st; } } Le constructeur fonctionne bien avec le modificateur default ou private , mais il me donne une erreur de compilation s’il reçoit les […]