在C ++中,在类定义内部或外部定义方法体更常规吗?

时间:2013-07-28 23:55:56

标签: c++ methods convention

相当自我解释。我只是想知道在面向对象的C ++中做什么更常规?

示例A:

class CarObject{
private:                            //Local Variables
    string name;     
    int cost;
public:
    CarObject(string pName, int pCost){     //Constructor with parameters of car name and car cost
        name = pName;           //Sets the temporary variables to the private variables
        cost = pCost;
    }    
    void getDetails(){ 


            cout << name;
            cout << cost;

            }//Public method that returns details of Car Object
};

例B:

class CarObject{
private:                            //Local Variables
    string name;     
    int cost;
public:
    CarObject(string pName, int pCost){     //Constructor with parameters of car name and car cost
        name = pName;           //Sets the temporary variables to the private variables
        cost = pCost;
    }    
    void getDetails();  //Public method that returns details of Car Object
};
void CarObject :: getDetails(){
    cout << name;
    cout << cost;
}

1 个答案:

答案 0 :(得分:3)

您的类定义通常位于.h文件中,而您的方法和其他实现细节将位于.cpp文件中。这样可以在管理依赖项时提供最大的灵活性,在实现更改时防止不必要的重新编译,并且是大多数编译器和IDE所期望的模式。

主要的例外是:(1)inline函数,它们应该是简短的,编译器可能选择插入代替实际的函数调用,以及(2)模板,其实现取决于传递给他们的参数。