马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
我在类定义里面定义了内联函数 但是在运行的时候却无法调用这个函数了, 如果不定义为内联函数 就没有问题 这是为什么呢??
头文件:#include<iostream>
using namespace std;
class CIRCLE
{
public:
CIRCLE(float);
double circleArea();
void setRadius(float);
float getRadius();
private:
double area;
float radius;
};
类定义:#include<iostream>
#include"Header.h"
using namespace std;
CIRCLE::CIRCLE(float input)
{
radius = input;
}
inline double CIRCLE::circleArea()
{
area = radius*radius*3.14;
return area;
}
void CIRCLE::setRadius(float input)
{
radius = input;
}
float CIRCLE::getRadius()
{
return radius;
}
源码:#include<iostream>
#include<iomanip>
#include"Header.h"
using namespace std;
int main()
{
float input;
CIRCLE circle1(1.0);
cout << "The oraginal circle area is " << circle1.circleArea() <<endl;
while(1)
{
cout << "Enter the radius to calculate the area:";
cin >> input;
circle1.setRadius(input);
cout << "The area with radius " << setprecision(4) <<circle1.getRadius()<< " is " << setprecision(4) << circle1.circleArea() << endl;
}
return 0;
}
类的内联函数一般直接在类内直接实现,或者在类外用inline指明,不过类外定义时,内联函数体也要放在头文件中,这是内联函数与不同函数的不同点
|