浅尝类与对象的基本内容

c++是对具有相同属性和行为的一组对象的抽象与统一描述。是用户自定义的数据类型

第一点类的定义:

类是对具有相同属性和行为的一组对象的抽象与统一描述。是用户自定义的数据类型

类的定义包括行为和属性两个部分。

属性以数据表示,行为通过函数实现

由于隐藏数据是opp主要目标之一,数据项通常放在私有部分,组成类接口的成员函数放在公有部分;

不必要在类声明中使用关键字privat,因为这是类对象的默认访问控制;

public与private之间唯一的区别是,结构的默认访问类型是public,而类为prite;

<span style="font-family:SimSun;">class  类名

{

   public:

           公有数据成员和成员函数;

   protected:

           保护数据成员和成员函数;                  类成员可以是数据类型,也可以是函数;

   private:

           私有数据成员和成员函数;

};</span>

1.类的成员可以是其他人的对象,但不能以类自身的对象作为本类的成员,而类自身的指针和引用可以作为类的成员。

2.类定义必须以分号“;”结束。

3.类与结构体的区别:没有明确指定类成员的访问权限时,C++结构体的成员是公有的,而类的成员是私有的。

类的构造函数和析构函数

构造函数的作用是:

 为对象分配空间;对数据成员赋初值;请求其他资源

c++提供了一个特殊的成员函数--类构造函数,专门用于构造新对象,将值赋给他们的数据成员

构造函数没有返回值,实际上构造函数没有声明类型;

构造函数的参数标识的不是类成员,而是赋给类成员的值,因此,参数名不能与类成员相同;

析构函数是用于取消对象的成员函数

当一个对象作用域结束时,系统自动调用析构函数

析构函数的作用是进行对象消亡时的清理工作

构造函数的作用是:

 为对象分配空间;对数据成员赋初值;请求其他资源

c++提供了一个特殊的成员函数--类构造函数,专门用于构造新对象,将值赋给他们的数据成员

构造函数没有返回值,实际上构造函数没有声明类型;

构造函数的参数标识的不是类成员,而是赋给类成员的值,因此,参数名不能与类成员相同;

除了class以外,关键字struct也可以用于定义类。用struct定义类时,若不特别指出,则所有成员是共有的。例如,一个日期类的说明如下:

class Date
{   
   public:
     void SwtDate(int y,int m,int d);
     int IsLeapYear();
     void PrintDate();
   private:
     int year,month,day;
};

Date类有三个私有数据成员:year,month和day。Date还有三个公有成员函数:SetDate用于获取对象的值,设置日期;IsLeapYear用于判断是否是闰年;PrintDate函数用于输出日期。

*成员函数在类外定义使用作用域区分符进行说明,此时函数头的形式为:

返回类型     类名::函数名(参数表)

{  

   函数体    }

*成员函数在类外定义使用作用域区分符进行说明,此时函数头的形式为:

返回类型     类名::函数名(参数表)

{  

   函数体    }

his 指针

一般来说,所有类方法都将this指针设置为调用它的对象的地址;

当参数与成员变量名相同时,如this->x = x,不能写成x = x。

静态成员:

静态数据成员在定义或说明时前面加关键字static,如:

class A  
{  
    int n;  
    static int s;  
};  

总结:

通过本章类与对象的学习,我逐渐完成了由算法到思维的学习,我对数组结构描述了对基本的数据结构组织有了初步的了解,在过程化的程序设计中,我体会到了参数传递的过程,使用c++语言系统提供基本的数据类型的操作方式就是类与对象的核心所在,除此之外面对对象方法,为大型软件的复杂性和可用性提供了有效的可行途径,因此在下一步的学习中,我决定继续努力



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值