关于继承,之前一直使用的是public,于是查了点资料1private, public, protected 访问标号的访问范围private:只能由1.该类中的函数、2.其友元函数访问。不能被任何其他访问,该类的对象也不能访问。protected:可以被1.该类中的函数、2.子类的函数、3.其友元...
分类:
编程语言 时间:
2014-08-07 18:01:00
阅读次数:
181
简介:友元可以访问与其有好友关系的类中的私有成员。 友元包括友元函数和友元类。【1】将普通函数声明为友元函数#includeusing namespace std;class Time{ public: Time(int,int,int); ...
分类:
其他好文 时间:
2014-08-04 14:07:47
阅读次数:
204
为什么要使用友元函数? 在实现类之间数据共享时,减少系统开销,提高效率
如果类A中的函数要访问类B中的成员(例如:智能指针类的实现),那么类A中该函数要是类B的友元函数
为了使其他类的成员函数直接访问该类的私有变量。即:允许外面的类或函数去访问类的私有变量和保护变量,从而使两个类共享同一函数。此时可...
分类:
编程语言 时间:
2014-08-04 13:45:37
阅读次数:
354
重载限制多数C++运算符都可以用下面的方式重载。重载的运算符不必是成员函数,但必须至少有一个操作数是用户自定义的类型。下面详细介绍C++对用户定义的运算符重载的限制。1 重载后的运算符必须至少有一个操作数是用户自定义的类型,这将防止用户为标准类型重载运算符。因此,不能将减法运算符(-)重载为doub...
分类:
编程语言 时间:
2014-07-31 02:23:55
阅读次数:
336
is-a关系 类包含关系
构造函数 复制构造函数 重载赋值操作符 析构函数
动态内存空间分配和释放 new delete操作
static 数据成员
友元函数 重载输入>>和输出<<操作符...
分类:
编程语言 时间:
2014-07-31 00:01:45
阅读次数:
439
友元是一种定义在类外部的普通函数或类,但它需要在类体内进行说明,为了与该类的成员函数加以区别,在说明时前面加以关键字friend。友元不是成员函数,但是它可以访问类中的私有成员。友元的作用在于提高程序的运行效率,但是,它破坏了类的封装性和隐藏性,使得非成员函数可以访问类的私有成员。...
分类:
编程语言 时间:
2014-07-29 22:09:02
阅读次数:
293
C++中的友元机制允许类的非公有成员被一个类或者函数访问,友元按类型分为三种:普通非类成员函数作为友元,类的成员函数作为友元,类作为友元。
1 友元的内容
友元包括友元的声明以及友元的定义。友元的声明默认为了extern,就是说友元类或者友元函数的作用域已经扩展到了包含该类定义的作用域,所以即便我们在类的内部定义友元函数也是没有关系的。
2 普通的非成员函数友元
这类友元函数通常是操作符,...
分类:
编程语言 时间:
2014-07-23 13:37:47
阅读次数:
354
加法还可用友元函数,两个参数的方式实现。#include #include #include #include using namespace std;class Matrix{public: Matrix(){memset(this->_mat,0,sizeof(this->_mat));}...
分类:
其他好文 时间:
2014-07-22 22:34:53
阅读次数:
262
0.两个要点a) 一个空类,编译器自动合成默认无参构造函数、析构函数、拷贝构造函数、赋值运算符。b) 在编写类的时候,必须严格区分对象是否可复制。1.运算符重载之 string类1.1 运算符重载的几个要点:a) 运算符重载可以有成员函数和友元函数的形式,后者比前者多一个参数。b) =和+=必须重载...
分类:
编程语言 时间:
2014-07-19 18:30:05
阅读次数:
206
#includeusing namespace std;/******************************************//*use member function to overload operator*//*********************************...
分类:
编程语言 时间:
2014-07-18 19:18:45
阅读次数:
169