C++ Tutorial/Class/inline

Материал из C\C++ эксперт
Версия от 10:29, 25 мая 2010; Admin (обсуждение | вклад) (1 версия: Импорт контента...)
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к: навигация, поиск

Automatic inline functions

#include <iostream> 
using namespace std; 
 
class MyClass { 
  int i; // private by default 
public: 
   
  int getInt() { return i; } 
  void setInt(int j) { i = j; } 
} ; 
 
int main() 
{ 
  MyClass s; 
 
  s.setInt(10); 
  cout << s.getInt(); 
 
  return 0; 
}
10

Defines constructor, destructor, and range() function in-line

#include <iostream> 
using namespace std; 
 
class MyClass {  
  // These are now private. 
  int a; 
  int b;    
  int c;        
public: 
  // This is a constructor for MyClass. 
  MyClass(int p, int f, int m) { 
    a = p; 
    b = f; 
    c = m; 
  } 
 
  // Compute and return the range. 
  int range() { 
     return c * b; 
  } 
 
  // Accessor functions. 
  int getA() { return a; } 
  int getB() { return b; } 
  int getC() { return c; } 
}; 
 
int main() {  
  // Pass values to MyClass constructor. 
  MyClass myObject1(7, 16, 21);  
  MyClass myObject2(2, 14, 12); 
 
  int range1, range2;  
 
  range1 = myObject1.range(); 
  range2 = myObject2.range(); 
  
  cout << range1 << "\n";  
 
  cout << range2 << "\n";  
  
  return 0; 
}
336
168

inline function definiton

#include <iostream>
class Cat
{
public:
    Cat (int initialAge);
    ~Cat();
    int GetAge() { return itsAge;}             // inline!
    void SetAge (int age) { itsAge = age;}     // inline!
    void Meow() { std::cout << "Meow.\n";}     // inline!
private:
    int itsAge;
};

inline functions

#include <iostream>
 
 inline int f(int);
 int main()
 {
     int target;
 
     std::cout << "Enter a number to work with: ";
     std::cin >> target;
     std::cout << "\n";
 
     target = f(target);
     std::cout << "Target: " << target << std::endl;
 
     target = f(target);
     std::cout << "Target: " << target << std::endl;
     
     target = f(target);
     std::cout << "Target: " << target << std::endl;
     return 0;
 }
 
 int f(int target)
 {
     return 2*target;
 }
Enter a number to work with: 12
Target: 24
Target: 48
Target: 96

inline method

#include <iostream> 
using namespace std; 
 
class MyClass { 
  int i; // private by default 
public: 
  int getInt(); 
  void setInt(int j); 
} ; 
 
inline int MyClass::getInt() 
{ 
  return i; 
} 
 
inline void MyClass::setInt(int j) 
{ 
  i = j; 
} 
 
int main() 
{ 
  MyClass s; 
 
  s.setInt(10); 
  cout << s.getInt(); 
 
  return 0; 
}
10

Using an inline function to calculate the volume of a cube.

#include <iostream>
using std::cout;
using std::cin;
using std::endl;
inline double cube( const double s ) { return s * s * s; }
int main()
{
  double side;
  for ( int k = 1; k < 4; k++ ) {
      cout << "Volume of cube with side " << k << " is " << cube( k ) << endl;
  }
   return 0;
}