Télécharger la présentation
La présentation est en train de télécharger. S'il vous plaît, attendez
Publié parGisèle Gabriel Modifié depuis plus de 10 années
1
GPA789 Analyse et conception orientées objet Durée de vie des objets C++
2
GPA789 Analyse et conception orientées objet Durée de vie des objets C++ Exemple BACCALAURÉAT EN GÉNIE DE LA PRODUCTION AUTOMATISÉE
3
GPA789 Analyse et conception orientées objet BACCALAURÉAT EN GÉNIE DE LA PRODUCTION AUTOMATISÉE Linitialisation dun objet de type CTreeCtrl dans la fonction membre CDialog::OnInitDialogLinitialisation dun objet de type CTreeCtrl dans la fonction membre CDialog::OnInitDialog{ // code partiel de linitialisation… CBitmap bitmap1; VERIFY(bitmap1.LoadBitmap(IDB_IMAGE_DOSSIERS)); /* créer liste images */ CImageList m_ImageList; m_ImageList.Create(16, 13, ILC_COLOR16, 0, 1); m_ImageList.Add(&bitmap1, RGB(0,0,0)); /* Ajouter la liste d'images dans l'arbre des dossiers */ m_ArbreDossiers.SetImageList(&m_ImageList, LVSIL_NORMAL); } Quel est le problème majeur dans ce code? Quel est le problème majeur dans ce code?
4
GPA789 Analyse et conception orientées objet BACCALAURÉAT EN GÉNIE DE LA PRODUCTION AUTOMATISÉE Réponse: La durée de vie des objetsRéponse: La durée de vie des objets bitmap1 bitmap1 m_ImageList m_ImageList En effet,En effet,{ // code partiel de linitialisation… CBitmap bitmap1; VERIFY(bitmap1.LoadBitmap(IDB_IMAGE_DOSSIERS)); /* créer liste images */ CImageList m_ImageList; m_ImageList.Create(16, 13, ILC_COLOR16, 0, 1); m_ImageList.Add(&bitmap1, RGB(0,0,0)); /* Ajouter la liste d'images dans l'arbre des dossiers */ m_ArbreDossiers.SetImageList(&m_ImageList, LVSIL_NORMAL); } Ils sont détruits automatiquement à la fin de cette fonction membre!!
5
GPA789 Analyse et conception orientées objet BACCALAURÉAT EN GÉNIE DE LA PRODUCTION AUTOMATISÉE Solution #1 – allocation dynamique des objetsSolution #1 – allocation dynamique des objets{ // code partiel de linitialisation… CBitmap *pbitmap1 = new CBitmap; VERIFY(bitmap1.LoadBitmap(IDB_IMAGE_DOSSIERS)); /* créer liste images */ CImageList *m_pImageList = new CImageList; m_ImageList.Create(16, 13, ILC_COLOR16, 0, 1); m_ImageList.Add(pbitmap1, RGB(0,0,0)); /* Ajouter la liste d'images dans l'arbre des dossiers */ m_ArbreDossiers.SetImageList(m_pImageList, LVSIL_NORMAL); } Quel est le problème associé à cette solution? Quel est le problème associé à cette solution?
6
GPA789 Analyse et conception orientées objet BACCALAURÉAT EN GÉNIE DE LA PRODUCTION AUTOMATISÉE Solution #2 – rendre les objets « globaux » à la boîte de dialogueSolution #2 – rendre les objets « globaux » à la boîte de dialogue class CXtractCommGUIDlg : public CDialog { // Construction public: CXtractCommGUIDlg(CWnd* pParent = NULL);// standard constructor // Dialog Data //{{AFX_DATA(CXtractCommGUIDlg) enum { IDD = IDD_XTRACTCOMMGUI_DIALOG }; CProgressCtrlm_BarreProgression; CListCtrlm_lcFichiers; CTreeCtrlm_ArbreDossiers; CComboBoxExm_cbDisque; //}}AFX_DATAprivate: CImageList m_ImageList; CBitmap bitmap1; };
Présentations similaires
© 2024 SlidePlayer.fr Inc.
All rights reserved.