|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
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指明,不过类外定义时,内联函数体也要放在头文件中,这是内联函数与不同函数的不同点
|
|