C++_对象与类

1.封装

  汇编语言是对机器硬件的封装,c语言是对汇编的封装,c++可以让程序员对要解决的问题进行整体建模。

这种建模的结果就是“对象”。

 2.对象

  世界万物都是对象。任何一个对象都可以分为“属性”和“行为”。

  属性用来描述对象的状态。

  行为用来描述对象的功能。

在c++中用“类”来描述“对象”,但非对象本身。

  3 class dog
  4 {
  5    int eye;
  6 
  7    public:
  8       int nose;
  9       void geteye();
 10       int tail;
 11    private:    
 12       void play()
 13       {
 14          int ey;
 15       
 16       }
 17   
 18    protected:
 19        int ear;
 20 };
类可以没有类名,这样的话,只能定义一次该类对象,以后就不能够重新定义对象了。

class

{

     int x;

public:

     int a;

};

在c++中关键字struct和class是一样的,同样用来进行类的定义,但是在用struct进行类定义时,默认

类成员都是public的,class则默认是私有的。

struct abc

{

   int x;

  float y;

};

3. This指针

 一个类定义多个对象时,每个对象都有自己独立的成员变量,但成员函数确是共享的。

int geteye() ===> int geteye(dog *this)  c++在编译的时候加入this指针。

a1.geteye()====>a1.geteye(&a1);

 

void s::f()

{

     int a;

    void f();

}栈溢出。

void s::f()

{

     :: a;

    ::f();

}

 

 

::f(); 调用全局的f()。

::a++;使用全局的变量a,没有::则为类里面的

4. 友元

  如果一个函数需要访问其他类里的私有变量,???

  c++中提供了friend关键字。

在某个类中,可以用friend关键字声明的其他类中变量或者函数访问自己类中的私有成员。

嵌套类并不能访问“被嵌套”类的私有成员。

  4 struct Holder
  5 {
  6  private:
  7      int a[sz];
  8  public:
  9      void initialize();
 10 /*stadand step to be friend class*/
 11      struct Pointer;
 12      friend Pointer;
 13      struct Pointer
 14      {
 15          int b;
 16          public:
 17            void next();
 18      };
 19
 20 };
1.由于友元函数不是类的成员函数,因此,对友元函数访问权限无效,可以放在,private,public,

protected中任意段。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值