c++中在类外定义函数
来源:互联网 发布:曼秀雷敦润唇啫喱知乎 编辑:程序博客网 时间:2024/05/14 15:14
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.在类内声明成员函数,在类外定义成员函数,是软件工程中良好的编程风格
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.在类内声明成员函数,在类外定义成员函数,是软件工程中良好的编程风格
0 0
- C++:成员函数实现在类定义中与在类定义外的区别
- c++中在类外定义函数
- c++中在类外定义函数
- C中在函数中定义函数(二)
- 在.c文件中调用c++定义的函数
- 在c语言中函数的定义与使用
- C语言中定义函数
- gcc中在函数内在定义函数
- c语言中函数变量定义是不是必须在函数的开始处?
- 关于“在C语言中只能在函数前面定义变量”的问题
- 函数中定义类
- CUDA常见问题之无法在c文件中调用cu文件中定义的函数
- CUDA 问题解决 ——在 c 文件中调用 cu 文件中定义的函数失败
- C++ 类的成员函数定义在.h中为什么会产生函数重定义错误?
- c++中为什么函数定义可以在主函数后面而类的定义不可以?
- 在C++中定义类成员函数指针
- 在父类和子类中定义重载函数
- 在父类和子类中定义重载函数 心得
- An Experimental Survey on Correlation Filter-based Tracking
- 【Unity开发】GameObject
- 浅析Qt的事件机制
- PHP快速排序法
- Python3 基础:错误处理
- c++中在类外定义函数
- LeetCode 12 Integer to Roman
- CFX系列(二):CXF处理复杂的对象
- Fetch.Type和FetchMode
- ...........0000000000000000
- Java POI 生成Word文档
- ButterKnife配置
- OpenCV3.0 Examples学习笔记(5)-distrans.cpp
- 北京天宇联科技有限责任公司—T语言html页面开发