下面的程序涉及到了类的构造函数,默认构造函数,析构函数,转换函数,友元函数,运算符重载。 C++提供了另一种访问权限——友元。 友元有3种:友元函数;友元类;友元成员函数。 本章只涉及到友元函数。 在为类重载二元运算符时常常需要友元。 创建友元 将其原型放在类声明中,并在原型声明前加上关键字frie ...
分类:
其他好文 时间:
2017-10-02 23:50:57
阅读次数:
299
直接看代码,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
函数堆栈的三个用途: 1.进入函数前保存环境变量和返回地址; 2.进入函数时保存实参的拷贝; 3.保存函数体内的局部变量。 函数调用规范:定义函数实参压栈,退栈以及堆栈释放方式。 1._cdecl:函数默认规范,参数从右到左依次压栈,便于可变参数函数,C++静态成员函数和友元函数使用此规范。 2._ ...
分类:
编程语言 时间:
2017-09-02 18:02:16
阅读次数:
165
第一: private,public,protected的訪问范围: private: 仅仅能由该类中的函数、其友元函数訪问,不能被不论什么其它訪问。该类的对象也不能訪问. protected: 能够被该类中的函数、子类的函数、以及其友元函数訪问,但不能被该类的对象訪问 public: 能够被该类中 ...
分类:
编程语言 时间:
2017-08-15 21:15:21
阅读次数:
197
3-7 类的友元函数的应用 Time Limit: 1000MS Memory limit: 65536K 题目描写叙述 通过本题目的练习能够掌握类的友元函数的定义和使用方法 要求设计一个点类Point,它具有两个double型的数据成员x,y。为该类设计构造函数。并为其加入一个友元函数用于计算并输 ...
分类:
其他好文 时间:
2017-08-06 15:58:31
阅读次数:
123