c++中在类外定义函数

时间:2022-03-22 18:29:56
  c++中有时候类中的成员函数过长,那么此时在类内定义成员函数就不利于程序的阅读了,此时我们大都会将是函数定义在类外。


  c++中规定,在类外定义成员函数时要用类名和作用域运算符进行限定。


  如程序:


#include<iostream>
using namespace std;
class Student
{
    public :
         void show();    //在类内声明成员函数show()
         void record(string n,string stunum,string s)
         {
             name=n;
             studentnumber=stunum;
             sex=s;
         }
   private:
         string name;
         string studentnumber;
         string sex;
};
void Student::show()    //在类外定义函数时要加上类名和作用域运算符
{
    cout<<"name:"<<name<<endl;
    cout<<"studentnumber:"<<studentnumber<<endl;
    cout<<"sex:"<<sex<<endl;
}
int main()
{
    Student student;
    student.record("wang","123456","nan");
    student.show();
    return 0;
}
注意:


 1.函数在类内定义和在类外定义效果是一样的,只是对于较长的程序函数放在类外更有利于读程序;


 2.在类外定义成员函数时必须现在类内写出成员函数的原型声明,然后再在类外定义;


 3.如果在类外有定义,但是在函数名前没有类名和作用域运算符,则该函数被认为是普通函数;


 4.在类内声明成员函数,在类外定义成员函数,是软件工程中良好的编程风格