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