J'ai une classe qui n'a qu'une fonction "Print()" et deux propriétés "age, sex". Et j'essaie de comprendre quand l'objet crée-t-il sur la mémoire?Toujours créer une instance de classe?
Je peux toujours accéder aux accessoires et fonctions de l'objet même si je n'ai pas appelé sa fonction de constructeur.
N'existe-t-il aucune règle pour l'objet de création de la classe?
En C# ceci ne crée pas l'objet de la mémoire: ClassName cls;
Mais cela va créer: ClassName cls = new ClassName();
En C++ est-il possible de ne pas créer objet en mémoire jusqu'à ce que je dois l'appeler est fonction constructeur?
#include <QtCore/QCoreApplication>
#include "iostream"
using namespace std;
class ClassName{
public:
void print(){
cout<< "Age: " <<age <<endl;
cout<< "Sex: " <<sex <<endl;
}
int age;
char sex;
};
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
ClassName *ex1 = new ClassName();
ex1->print();
ClassName ex2;
ex2.print();
ClassName ex3= {10,'e'};
ex3.print();
ClassName exCopy(ex3);
exCopy.print();
return a.exec();
}
Je ne comprends pas ce que vous demandez. –
Demandez-vous pourquoi les quatre méthodes différentes que vous avez postées aboutissent toutes à des objets valides lorsque vous n'avez défini explicitement aucun constructeur? – Troubadour