0%

C++ 类成员方法的两种定义方法

Android学到深处还是得回到c/c++,基础不扎实,从头开始.

#include 
using namespace std;

class Human
{
public:
    //方法体写在类内部
    int getAge(){
        return age;
    };
    void setAge(int arg){age=arg;}
    //不写方法体,在外部补充
    void setName(char *arg);
    char* getName();
private:
    char* name;
    int age;
};
//方法体写在类外部
char* Human::getName()
{
    return name;
};
void Human::setName(char *arg)
{
    //使用strcpy会报错,貌似是因为name没有初始化
    name=arg;
};

int main()
{
    Human mike;
    mike.setAge(10);
    mike.setName("mike");
    cout<

区别:方法体在类内部的是内联(inline)函数,编译器在编译到调用该方法的地方,直接用方法体替换方法名,会使编译出的可执行文件体积变大?我是这么理解的。