类内类外定义成员函数

来源:互联网 发布:叮叮当客服平台软件 编辑:程序博客网 时间:2024/06/04 22:59
//1、类外定义成员函数
class Student
{
public:
void display();//公用成员函数声明
private:
int num;
char name[20];
char sex;
};
void Student::display()//类外定义display函数,“::”是作用域运算符,在类外要加类名,不然就是全局函数
{
cout << "num:" << num << endl;//类函数必须先在“类体”中作“原型声明”,然后在“类外定义”
cout << "name:" << name << endl;//“类体位置”要在“函数定义”之前
cout << "sex:" << sex << endl;
}
Student stud1, stud2;


//2、内置成员函数
//一般来说:调用函数时间>小规模函数体内语句执行时间,时间开销比较大。
class Student
{
public:
inline void display();//声明此成员函数为内置函数
private:
int num;
char name[20];
char sex;
};
inline void Student::display()//在类外定义display函数为内置函数
{
cout << "num:" << num << endl;
cout << "name:" << name << endl;//内置函数一般无循环等控制结构
cout << "sex:" << sex << endl;
}


//3、成员函数存储方式
//(1)不论成员函数在类内还是类外定义,成员函数的代码段都不占对象的存储空间
//(2)不要与inline混淆,用不用inline,都不占存储空间,inline只影响程序的执行效率
//(3)虽然成员函数并没有放在对象的存储空间中,但从逻辑角度,成员函数是和数据封装在一个对象中的