C++
源代码杀手
大厂算法工程师经验、高校教师。
互相学习,共同进步!
展开
-
C++使用技巧(六):class类:友元函数、友元类和友元成员函数
有些情况下,允许特定的非成员函数访问一个类的私有成员,同时仍阻止一般的访问,这是很方便做到的。例如被重载的操作符,如输入或输出操作符,经常需要访问类的私有数据成员。友元(frend)机制允许一个类将对其非公有成员的访问权授予指定的函数或者类,友元的声明以friend开始,它只能出现在类定义的内部,友元声明可以出现在类中的任何地方:友元不是授予友元关系的那个类的成员,所以它们不受其声明出现部分的访问控制影响。通常,将友元声明成组地放在类定义的开始或结尾是个好主意。1、友元函数友元函数是指某些虽然不是类成转载 2020-11-12 15:11:20 · 411 阅读 · 0 评论 -
C++使用技巧(五):C类public,protected和 private的用法
一、用法说明1.类的一个特征就是封装,public和private作用就是实现这一目的。所以:用户代码(类外)可以访问public成员而不能访问private成员;private成员只能由类成员(类内)和友元访问。2.类的另一个特征就是继承,protected的作用就是实现这一目的。所以:protected成员可以被派生类对象访问,不能被用户代码(类外)访问。二、理解与实践先从类定义里理解public, 定义一个类,本质上是定义一个数据类型的蓝图。这实际上并没有定义任何数据,但它定义了类的名称意原创 2020-11-12 14:32:49 · 11211 阅读 · 2 评论 -
C++使用技巧(四):单双冒号“:”和“::”用法
C++单冒号与双冒号的作用1.冒号(:)用法(1)表示结构体内位域的定义(即该变量占几个bit空间)typedef struct _XXX{ unsigned char a:4;//占用4 unsigned char c;} ; XXX(2)机构体构造函数:后面的冒号起分割作用,主要作用是类给成员变量赋值的方法,这里进行了初始化列表,从而更适用于成员变量的常量const型。struct _XXX{ _XXX() : y(0xc0)原创 2020-11-12 14:02:54 · 3236 阅读 · 0 评论