C++类中显式定义内联函数

C++中类的内联成员函数的声明方式包括:显式声明和隐式声明。

将函数体直接放到类体内的声明方式即为隐式声明。这种声明方式简单。如下:

#ifndef Point_h_h
#define Point_h_h
class Point
{
 float x,y;

public:
 Point();
 Point(float a,float b);

 float GetX(void);
 float GetY(void);
 float Point::GetX(void){return x;}
};
#endif

显式声明在C++中(visual C++ 2008)正确的使用方式应该如下:

//Point.h
#ifndef Point_h_h
#define Point_h_h
class Point
{
 float x,y;

public:
 Point();
 Point(float a,float b);

 float GetX(void);
 float GetY(void);
};
#endif

inline float Point::GetX(void)
{
 return x;
}

 

//Point.cpp
#include "Point.h"
Point::Point()
{
 x = 0.0;
 y = 0.0;
}
Point::Point(float a, float b)
{
 x = a;
 y = b;
}

float Point::GetY(void)
{
 return y;
}

注意上面定义方式中,如果把GetX函数放到.CPP文件中定义时,单个文件进行编译,VC不会报错。但是对项目进行编译时系统将报错如下:

fatal error LNK1120: 2 unresolved externals

在网上搜索了很久,似乎没人遇见过。。。

最后在这个地方找到了答案:http://blog.csdn.net/testing2007/article/details/5256964,感谢testing2007这位仁兄!

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值