类内定义与类外定义

1、类内定义与内敛函数(inline)

定义一个类的时候,将成员函数的函数体写在类的内部,这种定义方式就称为类内定义。如下所示:

 1     class Cstudent {
 2     public:
 3         void SetName(std::string name) { this->m_strName = name; }
 4         void SetScore(unsigned int score) { this->m_iScore = score; }
 5         void SetGender(std::string gender) { this->m_strGender = gender; }
 6 
 7         std::string GetName(void) { return this->m_strName; }
 8         std::string GetGender(void) { return this->m_strGender; }
 9         unsigned int GetScore(void) { return this->m_iScore; }
10     private:
11         std::string  m_strName;
12         std::string  m_strGender;
13         unsigned int m_iScore;
14     };

对于类内定义的函数,编译器会优先将其编译为内敛函数(inline),但不是一定将其以内敛的方式进行编译。

如果函数本身过于复杂,那么编译器最终是不会这样做的。

 

2、类外定义

类外定义,顾名思义就是将成员函数的函数体写在类的外部,这种方式就没有什么特别之处了。

 

posted @ 2017-06-13 18:44  恍如隔世灬  阅读(1738)  评论(0编辑  收藏  举报