1. 友元 采用类的机制后实现了数据的隐藏与封装,类的数据成员一般定义为私有成员,成员函数一般定义为公有的,,依此提供类与外界间的通信接口。 但是,有时需要定义一些函数,这些函数不是类的一部分,但又需要频繁地访问类的数据成员,有时可以将这些函数定义为该类的友元函数,除了友元函数外,还有友元类,两者统 ...
分类:
编程语言 时间:
2019-08-14 22:02:46
阅读次数:
123
经常用到的四种关系,容易搞混,记一下。 耦合度:逐渐增强 1. 依赖(Dependency) 语义:类A要完成某个功能引用了类 B,则类 A 依赖类 B。 类比:学生依赖电脑,用电脑完成工作 表现形式:类A的 某个成员函数的返回值、 形参、 局部变量 或静态方法的调用了类 B,则表示类 A 依赖类 ...
分类:
其他好文 时间:
2019-08-14 21:28:58
阅读次数:
76
C++是向下兼容的,因此C++中保留了很多C的东西,也保留了struct,并做了一些改变。 1、struct定义 struct是一种数据类型,那么就肯定不能定义函数,所以在面向c的过程中,struct不能包含任何函数。 面向过程的编程认为,数据和数据操作是分开的。然而当struct进入面向对象的c+ ...
分类:
其他好文 时间:
2019-08-13 15:42:51
阅读次数:
79
第15课 - 惊艳的继承 1. 继承的概念 面向对象中的继承指类之间的父子关系,子类拥有父类的所有成员变量和成员函数。子类就是一种特殊的父类,子类对象可以当作父类对象使用,子类可以拥有父类没有的方法和属性。 如下面的程序: #include <cstdlib> #include <iostream> ...
分类:
编程语言 时间:
2019-08-11 20:50:15
阅读次数:
87
1 -- 类的例子,长方形的类,具备一个打印面积方法和一个设置长宽的方法 2 --lua实现类的思路,定义出来的对象在lua中可以访问自己有的成员,访问成员函数实际上是通过元表的__index方法实现的,具体点就是访问自己的成员函数,发现没有函数,然后判断是否有元表和__index元方法(当然都有, ...
分类:
其他好文 时间:
2019-08-11 15:29:48
阅读次数:
132
C++标准库(八)之图解bind函数对象 bind与普通函数的绑定 1. bind可以将用户提供的需要一个参数的函数转换为一个不需要参数的函数对象: 2.使用非成员函数,在使用前和使用时提供参数: bind与类的非静态成员函数的绑定 1.非静态函数成员的使用需要一个隐式的this参数 2.也可以将一 ...
分类:
其他好文 时间:
2019-08-10 19:13:57
阅读次数:
107
c语言中static的语义 1.static变量: 1).静态局部变量 a.静态局部变量在函数内定义,生存期为整个源程序,但作用域与局部变量相同,只能在定义该变量的函数内使用。退出该函数后, 尽管该变量还继续存在,但不能使用它。 b.对基本类型的静态局部变量若在说明时未赋以初值,则系统自动赋予0值。 ...
分类:
编程语言 时间:
2019-08-09 15:58:47
阅读次数:
99
类的基本成员函数 一个类包含:构造、析构、拷贝构造、赋值构造、常对象取地址、普通对象取地址基本函数 类中的const方法与普通方法 void fun() const和void fun()是可以共存的 如果不加const 加了const 1.因为函数后加了const就封锁了*this 为常量,就不能通 ...
分类:
编程语言 时间:
2019-08-09 01:39:43
阅读次数:
136
以非成员函数方式重载运算符 运算结果: exbot@ubuntu:~/wangqinghe/C++/20190808$ g++ overtwo.cpp -o overtwo exbot@ubuntu:~/wangqinghe/C++/20190808$ ./overtwo Volume of box ...
分类:
其他好文 时间:
2019-08-08 18:56:24
阅读次数:
123
对于一个对象而言,成员变量和成员函数是分开存放的 成员函数位于代码段,所有的类对象共有 成员变量为每一个对象独有,位于内存中 类对象在内存中的分布和struct完全相同 对于继承,子类的对象是在父类的对象的基础上,加上子类自己的成员 对于一个对象而言,成员变量和成员函数是分开存放的 成员函数位于代码 ...
分类:
编程语言 时间:
2019-08-06 19:46:11
阅读次数:
97