当前位置:   article > 正文

C++封装_struct没有private

struct没有private

封装

功能:对外提供接口,屏蔽数据,对内开放数据
class封装本质:将数据和行为,绑定在一起然后通过对象来完成操作

1. C++封装是对C封装的扩展

C语言封装概念:通过结构体struct将多个类型打包成一体,形成新的类型。
缺点:新类型不包含对数据类的操作。所的有操作都是通过函数的方式。

C++扩展了C语言结构体struct功能,可以用struct封装类,但struct 中所有行为和属性都是public 的(默认)。
优点:对外提供接口,可以直接访问其内部数据。
缺点:没有达到信息隐蔽的功效。

C++的class 可以指定行为和属性的访问方式,默认为pirvate,即屏蔽内部数据,又对外开放接口。

引申

1.1 C和C++中struct区别

三点:
C语言中的struct不能有成员函数,C++可以有
C语言中的struct没有public、private、protected访问权限设定,C++可以有
C语言的struct没有继承关系,C++可以有

1.2 C++中struct和class区别

两点:
默认继承权限不同,class默认private,struct默认public
class可以定义模板参数,像typename,struct不能定义为模板参数

2. 构造器constructor

用途:
构造器是C++中用于初始化对象
分类:
默认构造default constructor
有参构造
拷贝构造copy constructor

MyString(const char *str);//构造
MyString(const MyString &obj);//拷贝构造
MyString();//默认构造
~MyString(void);//析构
  • 1
  • 2
  • 3
  • 4

定义:
构造器定义
class 类名
{ <

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/凡人多烦事01/article/detail/714925
推荐阅读
相关标签
  

闽ICP备14008679号