我想在基于对话框中添加构造函数和析构函数 如何添加啊  难道只是通过添加成员函数那种方法   
                                      classname()   //构造函数                                     ~classname();//析构函数
 
不过这两个函数没有类型啊

解决方案 »

  1.   


    不过这两个函数没有类型啊 ??
    没有类型什么意思?这两个是默认构造函数和默认析构函数就是像上面那样子添加就可以了,构造函数和析构函数是没有返回值的你可以重载其他的构造函数,如:
    classname(void *data){...}
      

  2.   

    不行?代码贴出来!你是不是
    classname(CWnd* pParent = NULL);
    classname();
    如果你有这样两个构造函数,那你就得去了解一下什么叫函数重载,他们的原则是什么?
      

  3.   

    classname(CWnd* pParent = NULL);   // 标准构造函数
    virtual ~classname();
      

  4.   

    0\sampledlg.h(58) : warning C4520: 'CSampleDlg' : multiple default constructors specifiedDlg.cpp(837) : error C2668: 'CSampleDlg::CSampleDlg' : ambiguous call to overloaded function报错后指明的是这个位置void CMyDlg::OnDisplay() 
    {
    // TODO: Add your control notification handler code here
    CSampleDlg * pDlg = new CSampleDlg;
    if (pDlg!=NULL)
    {
     pDlg->Create(IDD_DIALOG1,this);
     pDlg->ShowWindow(SW_SHOW);
    }
    else 
     AfxMessageBox("创建失败");
    }
      

  5.   

    你是
    classname(CWnd* pParent = NULL);
    classname();这样重载了构造函数了吧???????
    看看我发的上个回复
    先弄懂重载函数的原则啊把你的头文件贴出来
      

  6.   

    我这个类是弹出对话框的类#if !defined(AFX_SAMPLEDLG_H__DF38A783_C8CB_4180_828C_8C5B0DF76920__INCLUDED_)
    #define AFX_SAMPLEDLG_H__DF38A783_C8CB_4180_828C_8C5B0DF76920__INCLUDED_#if _MSC_VER > 1000
    #pragma once
    #endif // _MSC_VER > 1000
    // SampleDlg.h : header file
    //
    #include  <stdio.h>
    #include <math.h>#define COLUMN_SIZE 60
    #define COLUMN_SCALE 15
    #define MOVE_SCOPE 10
    /////////////////////////////////////////////////////////////////////////////
    // CSampleDlg dialogclass CSampleDlg : public CDialog
    {
    // Construction
    public:
    float *pDataBackZ;
    float *pDataBackY;
    float *pDataBackX;
    CSampleDlg(CWnd* pParent = NULL);   // standard constructor// Dialog Data
    //{{AFX_DATA(CSampleDlg)
    enum { IDD = IDD_DIALOG1 };
    // NOTE: the ClassWizard will add data members here
    //}}AFX_DATA
    // Overrides
    // ClassWizard generated virtual function overrides
    //{{AFX_VIRTUAL(CSampleDlg)
    protected:
    virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV support
    //}}AFX_VIRTUAL// Implementation
    protected: // Generated message map functions
    //{{AFX_MSG(CSampleDlg)
    virtual void OnOK();
    afx_msg void OnPaint();
    afx_msg void OnTimer(UINT nIDEvent);
    afx_msg void OnCancel();
    //}}AFX_MSG
    DECLARE_MESSAGE_MAP()
    private:
    void DrawDataZ(CDC *pDC);
    void DrawDataY(CDC *pDC);
    void DrawDataX(CDC *pDC);
    int  mm_xPostion[COLUMN_SIZE];
    void MoveCoordinate(void);
    void DrawGrid(CDC *pDC);
    };//{{AFX_INSERT_LOCATION}}
    // Microsoft Visual C++ will insert additional declarations immediately before the previous line.#endif // !defined(AFX_SAMPLEDLG_H__DF38A783_C8CB_4180_828C_8C5B0DF76920__INCLUDED_)
      

  7.   

    class CSampleDlg : public CDialog
    {
    // Construction
    public:
    CSampleDlg();
    float *pDataBackZ;
    float *pDataBackY;
    float *pDataBackX;
    CSampleDlg(CWnd* pParent = NULL);   // standard constructor// Dialog Data
    //{{AFX_DATA(CSampleDlg)
    enum { IDD = IDD_DIALOG1 };
    // NOTE: the ClassWizard will add data members here
    //}}AFX_DATA
    // Overrides
    // ClassWizard generated virtual function overrides
    //{{AFX_VIRTUAL(CSampleDlg)
    protected:
    virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV support
    //}}AFX_VIRTUAL// Implementation
    protected: // Generated message map functions
    //{{AFX_MSG(CSampleDlg)
    virtual void OnOK();
    afx_msg void OnPaint();
    afx_msg void OnTimer(UINT nIDEvent);
    afx_msg void OnCancel();
    //}}AFX_MSG
    DECLARE_MESSAGE_MAP()
    private:
    void DrawDataZ(CDC *pDC);
    void DrawDataY(CDC *pDC);
    void DrawDataX(CDC *pDC);
    int  mm_xPostion[COLUMN_SIZE];
    void MoveCoordinate(void);
    void DrawGrid(CDC *pDC);
    };
    这是添加后的程序
      

  8.   

    杯具啊
    我上面的帖子白回了
    看看6楼 10楼 11楼 我都说了什么了!
    classname(CWnd* pParent = NULL);
    classname();当你给他一个参数时候,系统知道要调用第一个。
    当你不给他参数的时候,你要让它调用哪一个???