类总结

类是面向对象程序设计实现信息封装的基础,是一种用户自定义类型。

一.类

1.类的定义:类是对具有相同属性行为的一组对象的抽象与统一描述。属性以数据表示,称为类的数据成员。行为通过函数实现,称为成员函数。

c++类定义的格式:

class  类名
{
   public:
           公有数据成员和成员函数;
   protected:
           保护数据成员和成员函数;
   private: 
           私有数据成员和成员函数;
};   //分号不能省略;

   各成员函数的具体实现;

类成员访问控制表:

public:声明公有成员。是类的外部接口,在类中和类外可见。

protected: 声明保护成员。在类和它的派生类中可见。

private: 声明私有成员。只能在类中可见,不能在类外或派生类中使用。

2.成员函数

简单的成员函数的实现可以在类中定义,复杂的或者一般将成员函数声明为函数原型,在类外具体实现成员函数。

成员函数在类外定义:

返回值类型  类名::成员函数名(参数表)    //作用域区分符有两个冒号构成,它用于标识属于什么类的成员;
{
          函数体
} 

成员函数的作用:

  • 操作数据成员,包括访问和修改数据成员
  • 用于协同不同的对象操作,称为传递消息。成员函数通过参数与其他对象协同操作。

3.对象:

对象是某个类的能动实体,是类的实例或实体。说明一个类的对象后,编译器为每个对象的数据成员分配内存。对象没有成员函数的副本,类成员函数可以被对象调用。

对象的定义格式如下:

类名  对象名1,对象名2,对象名n

注意:必须在定义了类之后,才可以定义类的对象。

4.类成员的访问:

使用对象包括访问对象的数据成员和调用成员函数。

对象成员的访问包括:

  • 圆点访问形式:对象名.公有成员
  • 指针访问形式:"->"  对象指针变量名->公有成员

二.内联函数

1.内联函数作用:减少频繁调用小子程序的运行的时间开销、

2.内联函数声明:inline 函数原型

注意:

内联函数仅在函数原型作一次声明。适用于只有1~5行的小函数,不能含有while和switch等复杂的结构控制语句,不能递归调用。.关键字 inline 必须与函数定义体放在一起才能使函数成为内联,仅将 inline 放在函数声明前面不起任何作用。

inline void Foo(int x, int y);      // inline 仅与函数声明放在一起,不能成为内联函数;
inline int Coord::getx() { return  x;}      // inline 与函数定义体放在一起,可以成为内联函数;

三:成员函数可以重载

Ø 函数重载:函数名相同,但参数不相同(类型不同,或者个数不同)的一组函数。
Ø 编译器根据不同参数的类型和个数产生调用匹配
Ø 函数重载用于处理不同数据类型的类似任务 
eg:
(1)参数个数相同但类型不同
#include<iostream>
using namespace std ;
int  abs ( int  a ) ;          
double  abs ( double  f ) ;
int main ()
  {  cout << abs ( -5 )  << endl ;
     cout << abs ( -7.8 ) << endl ;
  }
int  abs ( int  a )
  {  return  a <  0  ?  -a  :  a ;  }
double  abs ( double  f )
  {  return  f < 0  ?  -f  :  f ;  }

(2)参数个数不同

#include<iostream>
using namespace std ;
int  max ( int a ,  int b ) ;
int  max ( int a ,  int b,  int c ) ;
int main ()
 { cout << max ( 5, 3 ) << endl ;
   cout << max (4, 8, 2 ) << endl ;
 }
int  max ( int a ,  int  b )
 { return a > b ? a : b ;  }
int  max ( int a ,  int  b,  int  c )
 {  int  t ;
    t = max ( a ,  b ) ;
    return  max ( t ,  c ) ;
 }


猜你喜欢

转载自blog.csdn.net/Flora_SM/article/details/80029561