C++ 详解类与对象

一、类和对象

​ 类是用户自定义的一种数据类型

1、类和对象的关系

​ 类是对象的抽象

​ 对象是类的实例化

2、类的定义

​ 类定义的一般形式

class 类名
{
  public:   //公共成员,类内和类外都能直接访问
      成员变量或者成员函数
      ......
  private:  //私有成员,类内可以直接访问,类外不能直接访问,但是可以通过调用类中的函数接口间接访问
      成员变量或者成员函数
  	  ......
  protected: //保护成员,类内可以直接访问,类外不能直接访问,但是可以通过调用类中的函数接口间接访问
       成员变量或者成员函数
  	  ...... 	      
    
};

​ 类中如果没有任何权限限制,默认为private私有权限

3、对象的定义

​ 创建一般形式:

​ 类名 对象名;

​ 通过对象访问成员变量或者成员函数:

​ 对象名.成员名;

4、构造和析构

​ (1)构造函数:一般用于给成员做初始化

​ 构造函数的一般形式:

​ 构造函数名(参数列表) //构造函数名必须和类名相同

​ {

​ 代码模块;

​ }

eg:

class Demo
{
	public:  
		Demo(int value)   //Demo类的构造函数,由系统自动调用
		{		
            val = value;
			cout << __func__  << ":" <<   __LINE__ << endl;  //打印函数名和行数
		}		
    public: 
        int val;
};

Demo obj(10); //定义了一个obj对象,并用10给val做了初始化,对象后的参数就是构造函数的参数

注意:

在创建对象时,用户定义的构造函数会由系统自动调用

如果在类中没有定义构造函数,会由系统自动创建一个并且调用

(2)析构函数

​ 析构函数一般用于对数据资源进行回收

​ 析构函数定义的一般形式:

​ ~析构函数名() //析构函数名必须和类名相同,析构函数没有参数

​ {

​ 代码模块;

​ }

析构函数在对象结束时由系统主动调用

练习:测试构造函数和析构函数的调用

​ (3)构造函数和析构函数调用时机

eg:

Demo obj(123);
Demo obj1(312);
	创建对象时:
        obj先进行构造函数,obj1再进行构造函数
    对象结束时:
        obj1先进行析构,obj再进行析构

5、类外实现函数功能

​ C++类中允许成员函数在类内声明,类外实现

注意:类外实现成员函数功能时,需要在函数名前面指定函数作用域

class Demo
{
    public:     //公共成员,类内和类外都能访问   
        int getval();

    private:  //私有成员,在类内能直接访问,在类外只能通过类中公共函数接口访问
        int val;
};

int Demo::getval()
{
    return val;    
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值