C++ 类后面 加括号 (c++新手伤不起啊)

今天看到  深入浅出MFC第55页面,前面都看懂了,但是main函数里面


 
#include <string.h>  
  
class CEmployee  //职员  
{  
    private:  
        char m_name[30];  
  
    public:  
        CEmployee();  
        CEmployee(const char* nm) { strcpy(m_name, nm); }  
};  
//----------------------------------// 时薪职员是一种职员  
class CWage : public CEmployee  
{  
    private :  
        float m_wage;//钟点费  
        float m_hours;//每周工时  
  
    public :  
        CWage(const char* nm) : CEmployee(nm) { m_wage = 250.0; m_hours = 40.0; }  
        void setWage(float wg) { m_wage = wg; }  
        void setHours(float hrs) { m_hours = hrs; }  
        float computePay();  
};  
//----------------------// 销售员是一种时薪职员  
class CSales : public CWage  
{  
    private :  
        float m_comm;//佣金  
        float m_sale;//销售额  
  
    public :  
        CSales(const char* nm) : CWage(nm) { m_comm = m_sale = 0.0; }  
        void setCommission(float comm)      { m_comm = comm; }  
        void setSales(float sale)          { m_sale = sale; }  
        float computePay();  
};  
//------------------------// 经理也是一种职员  
class CManager : public CEmployee  
{  
    private :  
        float m_salary;//薪水  
    public :  
        CManager(const char* nm) : CEmployee(nm) { m_salary = 15000.0; }  
        void setSalary(float salary)             { m_salary = salary; }  
        float computePay();  
};  
//---------------------------------------------------------------  
void main()  
{  
    CManager aManager("陳美靜");  
    CSales   aSales("侯俊傑");  
    CWage    aWager("曾銘源");  
}  

  其中

    CManager aManager("陳美靜");  
    CSales   aSales("侯俊傑");  
    CWage    aWager("曾銘源"); 
怎么也看不懂,对象后面直接加括号然后带参数,以前没见过,后来网上到处搜索了一下才知道
calss A.....
A   a()
调用A指定的构造函数
A   a;  创建一个对象

 CManager aManager("陳美靜");  
即调用的是 类CManager的构造函数


C++对象的创建过程有两步:
1. 分配对象内存
2. 调用构造函数



posted on 2012-09-01 23:35  冬日の清晨  阅读(3961)  评论(0)    收藏  举报

导航