单目运算符最好重载为类的成员函数;双目运算符则最好重载为类的友元函数。 向量 vector 是一种对象实体, 能够容纳许多其他类型相同的元素, 因此又被称为容器。 与string相同, vector 同属于STL(Standard Template Library, 标准模板库)中的一种自定义的数据 ...
分类:
其他好文 时间:
2019-06-04 22:08:18
阅读次数:
114
1、C++98标准的主要特征 在C++98发布之时,已经具有类及派生类、共有和私有成员的区分、类的构造函数和析构函数、友元、内联函数、赋值运算符的重载,虚函数的概念、函数和运算符的重载、引用、常量(constant),类的保护成员、多重继承、对象的初始化与赋值的递归机制、抽象类、静态成员函数、con ...
分类:
编程语言 时间:
2019-04-11 01:19:12
阅读次数:
153
1.有时候希望赋值运算符两边的类型可以不匹配,比如说char*类型的字符串赋值给字符串对象 2.赋值运算符“=”只能重载为成员函数 3.深拷贝和浅拷贝 4.运算符重载为友元函数 成员函数不能满足要求,普通函数又不能访问私有成员变量 成员函数只能满足c=c+5,不能满足c=5+c;后者需要重载为友元函 ...
分类:
其他好文 时间:
2019-04-08 00:55:47
阅读次数:
165
友元是C++提供的一种破坏数据隐蔽和封装的机制 1.友元函数 友元函数是在类中使用关键字friend修饰的非成员函数 1.1友元普通函数 定义与概念 友元函数是一个普通的函数 友元普通函数在实现时,不需要类名的限定;在调用时,也不需要由实例来调用 示例代码 include include using ...
分类:
编程语言 时间:
2019-03-29 17:33:48
阅读次数:
146
1.C++语言简介 4个特点: 1.继承了C语言的优点与语法,简介灵活,数据结构丰富,运行效率高 2.面向对象编程OOP(封装性、继承性和多态性) 3.增加了一些特性(引用、友元、重载) 4.标准模板库(算法、容器、迭代器) 2.类 2.1访问控制: 访问限定符:public公有的、protecte ...
分类:
编程语言 时间:
2019-03-22 17:05:16
阅读次数:
195
友元函数的基本概念 1、概念:可以在类A中通过关键字friend声明或定义某个独立函数或另一个类B的某个成员函数或另一个类B为类A的友元函数,友元函数可以无限制的存取类A的成员(包括私有、公有和保护成员)。 2、定义形式:friend 函数类型 函数所在类名::函数名(参数列表); 3、友元函数可在 ...
分类:
编程语言 时间:
2019-03-17 23:39:48
阅读次数:
198
1. 运算符重载 c++允许将运算符重载扩展到用户定义的类型,例如:允许使用+将两个对象相加,编译器将根据操作数的数目和类型决定使用哪种加法定义,重载运算符可以使代码看起来更加自然。 例:计算时间,一个运算符重载的实例: 测试: 2. 友元函数 运算符重载中,下面的语句 A = B * 3.5 将被 ...
分类:
其他好文 时间:
2019-03-14 20:00:03
阅读次数:
182
友元函数:不是类的成员函数,但是能够访问类的私有数据成员。 之前有个矛盾就是规定非成员函数不能直接访问类的私有数据,但是这会儿却可以,但那只是针对常规非成员函数而言,特殊的非成员函数就可以访问类的私有数据——友元函数。 友元函数就是这么特殊,虽然在类中声明,却不是类的成员函数,这是因为加了前缀fri ...
分类:
编程语言 时间:
2019-02-22 23:15:57
阅读次数:
234
重载 函数重载:在同一个作用域中,可以生命几个功能类似的同名函数,但这些同名函数的形式参数(指参数个数,类型或者顺序)必须不同。参见构造函数定义 运算符重载: 举例如下: student student::operator+(student &a) { student sum; sum.weight... ...
分类:
其他好文 时间:
2019-02-15 19:47:39
阅读次数:
178
静态成员:由关键字static修饰说明的类成员,称为静态成员。 虽然使用static修饰说明,但与函数中的静态变量有明显差异。类的静态数据成员为其所有对象共享,不管有多少对象,静态数据成员只有一份存于共有内存中。静态数据成员由于其共享性,所以在类外部(友元)访问时使用如下格式:类名::静态数据成员名 ...
分类:
其他好文 时间:
2019-01-29 18:09:08
阅读次数:
171