C到++ 之封装

2 篇文章 0 订阅
封装

在C中使用struct封装,这样不仅知道接口,又能访问内部数据,达不到信息隐藏的能力,随便来个人就可以访问了。
而在C++中可以指定属性或方法的访问方式,对内开发数据,对外排斥。这也是面向对象的优势所在。
在++中的class中至少提供两个函数,构造函数和析构函数

举个例子

#include <iostream>
using namespace std;
class A{
private :
	int aa;
public:
	A(int a):aa(a){}
	~A();
	void dis(){
		cout<<"aa is"<<aa<<endl;
};
int main()
{

	A a(15);
	a.dis();
	return 0;
}

如果调用aa就会发现无法访问
在这里插入图片描述

拷贝构造函数

在c++中想要用已存在的对象创建一个新对象,不由构造器,有一套固定的公式。那么一定有小伙伴问了,我为什么不用构造器。这里要明确系统提供的拷贝构造器就是所谓的浅拷贝(你变我也变)。 要实现深拷贝(你变我不变),必须要自定义。

class 类名 {    
类名(const 类名 & another) 
} 
const修饰符和static修饰符

const标识成员常量,无法修改,只能在定义时赋值
static是属于整个类的而不是某个对象,静态成员变量只存储一份供所有对象共用

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值