CPP3基础

1.定义

特点:抽象、封装、继承、多态

2.封装

class Name
{
public:
    //类的继承者、类里、类对象 可以访问
    Name();//构造
    ~Name();//拷贝
    Name(Name &name);//析构
protected:
    //类的继承者、类里 可以访问

private:
    //类里可以访问

public:
    //类成员
};

3.类函数

1.构造函数

1.作用:类成员的初始化
2.例子

  • Name()
  • Name(int x, int y)

3.注意:声明了带参数的构造函数 Name(int x)

  • Name n = Name() 错误
  • Name n = Name(2) 正确
2.析构函数

1.作用:对象删除前清理工作
2.例子

  • ~Name(){ 释放此类里用到的对象 }

3.注意:记得释放 new alloc申请内存空间

3.拷贝构造函数

1.作用:复制一份对象
2.例子

  • Name(Name &n) 对象的引用

3.注意:

  • 浅拷贝类成员中有指针的或地址的不行
  • 深拷贝指针和地址的成员也拷贝一份

4.调用:

  1. 一个类对象初始化该类另一个对象Name n1(1); Name n2(n1)
  2. 形参是类的对象,形参和实参结合时void fuc(Name n){} Name n; fuc(n);
  3. 函数返回值是类的对象
Name func()
{
    return Name(1, 2)
}
Name n;
n = func()
4.共同点

构造函数、拷贝构造函数、析构函数 每个类默认都有
拷贝构造函数:拷贝一个对象时候不是完全拷贝,有些地方可能要有小的修改。

4.类的组合

1.类里有类
2.对该类进行拷贝时也要拷贝类里的其他对象
P109

5.向前引用声明

只是标示是一个类,并没有实际意义

class A;
class B
{
public:
    A a;//错误,声明要开辟内存空间

    A *a;//正确,只是开辟指针空间

    a->add(2, 3);//错误不能使用
};
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值