直接看代码,C++操作符重载有两种实现方式,一种是重载成为类的成员函数,另一种是重载为友元函数,成员函数有this指针,所以少一个参数。 附上运算符优先级 不能被重载的运算符 C++中只能对已有的C++运算符进行重载,不允许用户自己定义新的运算符! C++中绝大部分的运算符可重载,除了成员访问运算符 ...
分类:
编程语言 时间:
2017-09-26 14:52:56
阅读次数:
246
运算符重载的概念:给原有的运算符赋予新的功能; 比如:+ 不仅可以做算术运算也可以连接俩个字符串 一元运算符:只与一个操作数进行运算 比如 正负号 运算符重载的本质是:函数重载。 <<与>>符号只能通过友元函数来重载//因为其返回的对象是i/ostream中的 索引运算符[]只能通过成员函数进行重载 ...
分类:
编程语言 时间:
2017-09-23 16:18:36
阅读次数:
215
访问修饰符 public:类的外部是可以访问的 private:类的外部是不可以访问的,只可以在类的内部访问。 protected: 在类的外部不可以访问,但是保护成员在派生类中可以访问。 拷贝构造函数:用之前的创建的对象来初始化新的对象 1、通过使用另一个同类型的对象来初始化新建的对象; 2、复制 ...
分类:
其他好文 时间:
2017-09-18 15:44:54
阅读次数:
145
#include<iostream>
usingnamespacestd;
classComplex
{
private:
intreal;
intp_w_picpath;
public:
Complex(intreal=0,intp_w_picpath=0):real(real),p_w_picpath(p_w_picpath)
{
cout<<"Complex::Complex():"<<this<<endl;
}
Complex(constComple..
分类:
其他好文 时间:
2017-09-11 22:40:39
阅读次数:
148
from here 首先,我们来了解下定义: 内部连接:如果一个名称对编译单元(.cpp)来说是局部的,在链接的时候其他的编译单元无法链接到它。 外部连接:如果一个名称对编译单元来说不是局部的,而在链接的时候其他的编译单元可以访问它,也就是说它可以和别的编译单元交互。 通过对LIB与DLL的讲解,我 ...
分类:
其他好文 时间:
2017-09-11 13:09:53
阅读次数:
143
函数堆栈的三个用途: 1.进入函数前保存环境变量和返回地址; 2.进入函数时保存实参的拷贝; 3.保存函数体内的局部变量。 函数调用规范:定义函数实参压栈,退栈以及堆栈释放方式。 1._cdecl:函数默认规范,参数从右到左依次压栈,便于可变参数函数,C++静态成员函数和友元函数使用此规范。 2._ ...
分类:
编程语言 时间:
2017-09-02 18:02:16
阅读次数:
165
1.class Scala的类和C#中的类有点不一样,诸如: 声明一个未用priavate修饰的字段 var age,scala编译器会字段帮我们生产一个私有字段和2个公有方法get和set ,这和C#的简易属性类似;若使用了private修饰,则它的方法也将会是私有的。这就是所谓的统一访问原则。 ...
分类:
移动开发 时间:
2017-08-18 20:04:07
阅读次数:
449
第一: private,public,protected的訪问范围: private: 仅仅能由该类中的函数、其友元函数訪问,不能被不论什么其它訪问。该类的对象也不能訪问. protected: 能够被该类中的函数、子类的函数、以及其友元函数訪问,但不能被该类的对象訪问 public: 能够被该类中 ...
分类:
编程语言 时间:
2017-08-15 21:15:21
阅读次数:
197
0x00. 遇到问题 TiXmlNode 不提供节点属性查询,跟进代码查看有friend class TiXmlElement; 友员类,忘记怎么玩了╮(╯▽╰)╭。 0x01. 将代码抓取出来 A.一个段子轻松记住友元类之间的关系!(′▽′)ψ 甲愿意把甲的秘密告诉乙,但是乙不见得愿意把乙自己的秘 ...
分类:
其他好文 时间:
2017-08-13 09:59:47
阅读次数:
194