C++ 02类和对象

类和对象

类:同一类事物的统称,一个抽象的概念 //在程序中就是指类型
对象:类的一个具体的实例 //在程序中就是指变量
面向对象编程特征:封装、抽象、继承、多态

1.类的声明

struct 类名    //struct 可以用来声明类,但是默认权限时public
{
private:
    私有的数据和成员函数;
public:
    公用的数据和成员函数;
};
-------------------------------------------------------------
class 类名    //class专门用来声明类,其默认权限是private
{
private:
    私有的数据和成员函数;
public:
    公用的数据和成员函数;
}

2.构造与析构

构造函数:类中特殊成员函数,用于做初始化
      函数名与类名相同,没有返回值(void都不写)
      构造函数可以重载(可以有多个版本)
      定义对象时自动调用
析构函数:类中的特殊成员函数,用于做清理
      函数名与类名相同且前面有~,没有返回值也没有参数
      析构函数不能重载(只有一个版本)
      对象销毁时自动调用

//特殊:如果没有会自动生成,强制执行
在类中声明和实现:直接写函数内容
    class Demo
    {
    private:
            //data
    public:
        Demo(void)
        {
            cout<<"构造函数"<<endl;    
        }
        ~Demo()
        {
            cout<<"析构函数"<<endl;    
        }
    };
在类中声明,在类外实现:要标识类
    class Demo
    {
    private:
        //data
    public:
        Demo(void);     //构造函数
        ~Demo();        //析构函数
        int fun(void);  //普通函数
    }
    
    Demo::Demo(void)
    {
        cout<<"构造函数"<<endl;
    }
    Demo:: ~Demo()
    {
        cout<<"析构函数"<<endl;
    }
    int Demo:: fun(void)        //Demo在返回值类型之后
    {
        return 0;    
    }
    
构造函数在定义时执行,析构函数在函数销毁时执行
1.    int main()
      {
          Demo stu;
          cout<<"-------"<<endl;
          return 0;
      }
结果:
        构造函数
        ---------
        析构函数

2.    int main()
      {
          {
              Demo stu;          
          }        //stu的生命周期只在括号里
          cout<<"--------"<<endl;
         return 0;
      }        
结果:
    构造函数
    析构函数
    --------

3.this指针

this指针:指向对象的指针
         仅在类的内部使用
         不需要用户定义
当形参与私有数据冲突时,可以使用this指针区分
    this->id=id;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值