什么是类什么是对象

今天主要看了一下c++的类和对象,什么是类什么是对象,c++的结构体与类的区别,类中的变量,引用变量,指针,静态变量,成员函数,静态成员函数,都放在内存的哪一个空间里。

我们一个一个的说,类和对象的关系就不多说了,这个以前java的时候接触过,也算是深入理解吧,毕竟项目不是乱写出来的。

我们在一个一个的说,c++的结构体也能有继承,有成员函数那和类有什么区别呢,区别就在于类默认是私有的,结构体的数据和函数默认是公有的。

c++的空类占1个字节,表示存在。除此之外,该占几个字节就占几个字节。

c++的普通变量在栈,指针变量也在栈,静态变量在全局区,与程序共存亡,类的静态变量属于类,不实例化对象就可以使用,成员函数在代码区,静态成员函数也在代码区,成员函数和静态成员函数却别就是一个属于对象,一个属于类。还有引用变量,和常量必须在构造的时候就进行初始化,否则的话编译器就会报错。

今天还看了mutable修饰变量,mutable可以突破const成员函数限制。举个例子,就是如果一个成员函数被const所修饰,那么这个函数只能修改mutable变量,也就是不能修改自动变量。

构造函数还可以用explicit来声明,这样就能防止别人在初始化的时候使用等于号来初始化类。

一个类,默认是有3个函数,一个是空构造函数,一个是析构函数,一个是拷贝构造函数,这3个都是默认的,我们可以重写,也可已删除,重写就不多说了,删除的语法就是Myclass() = delete;,除了删除我们还可以保持默认Myclass() = default;,这就是方法了。

默认的拷贝构造函数是浅拷贝的,如果我们要求深拷贝,那么就需要我们进行重写了,我们手动分配内存,防止不同指针指向相同地址,


今天主要就说了说自己学了什么,我们明天继续,就对不住各位看官了。

我去刷牙,明天天气好的话继续跑步,加油,c++!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值