1. 过程性编程和面向对象编程2. 抽象和类1. 使用类对象的程序都可以直接访问公有部分,但只能通过公有成员函数(或友元函数)来访问对象的私有成员2. 可以在类声明之外定义成员函数,并使其成为内联函数3. 类的构造函数和析构函数1. 接受一个参数的构造函数允许使用赋值语法将对象初始化为一个值4. t...
分类:
编程语言 时间:
2015-03-06 15:44:22
阅读次数:
146
友元分友元函数、友元类。友元函数:一个类的友元函数可以访问该类的私有成员我们可以将一个类的成员函数(包括构造、析构函数)作为另一个类的友元函数。如下class CCar; // 提前声明CCar 类,以便后面的CDriver类使用class CDriver {public: void Modi...
分类:
编程语言 时间:
2015-02-05 23:11:58
阅读次数:
236
友元方式:1、全局函数友元(外部);2、成员函数友元;3、类友元。特点:1、单向;友元不具有传递性、友元不具有继承性。对象的成员有数据和方法,一般将数据设置为private或保护,由于类的封闭性和隐藏性;将方法设置为public。只有通过对象调动一般方法来访问其私有成员。this指针存在于非静态成员...
分类:
其他好文 时间:
2015-01-30 17:23:12
阅读次数:
128
private:私有控制符。这类成员只能被本类中的成员函数和类的友元函数访问。protected:受保护控制符。这类成员可以被本类中的成员函数和类的友元函数访问,也可以被派生类的成员函数和类的友元函数访问。public:共有控制符。这类成员可以被本类中的成员函数和类的友元函数访问,也可以被类作用域内...
分类:
编程语言 时间:
2015-01-19 22:35:52
阅读次数:
294
构造函数为什么不能是虚函数
C++
从存储空间角度,虚函数对应一个指向vtable虚函数表的指针,这大家都知道,可是这个指向vtable的指针其实是存储在对象的内存空间的。问题出来了,如果构造函数是虚的,就需要通过vtable来调用,可是对象还没有实例化,也就是内存空间还没有,怎么找vtable呢?所以构造函数不能是虚函数。简单来说就是:虚函数的执行依赖于虚函数表。而虚函数表在...
分类:
其他好文 时间:
2015-01-08 21:37:33
阅读次数:
336
题目大意:给定一个数列的通项公式,求数列的某一项
高精度+记忆化搜索没说的 其实不用记忆化搜索的但是既然写完了就写完了吧
顺便学习了一下友元函数之类的东西- -
#include
#include
#include
#include
#include
using namespace std;
class Big_Int{
private:
int num[110],cnt;
pu...
分类:
其他好文 时间:
2014-12-23 10:29:06
阅读次数:
164
Complex.h 1 #pragma once 2 #include 3 4 using namespace std; 5 //表示一个复数 6 class Complex 7 { 8 private: 9 double x, y;10 public:11 Complex();...
分类:
编程语言 时间:
2014-12-12 23:28:32
阅读次数:
275
注: 友元是一种定义在类外部的普通函数或类,但它需要在类体内进行说明,为了与该类的成员函数加以区别,在说明时前面加以关键字friend。友元不是成员函数,但是它可以访问类中的私有成员。所以,友元声明只能出现在类定义中。因为友元不是授权类的成员,所以它不受其所在类的声明区域public private 和protected 的影响。即友元函数的声明可以出现在类的任何地方
class A
{...
分类:
其他好文 时间:
2014-12-08 17:55:07
阅读次数:
121
1.C++中的运算符重载的方式有三种:a.类成员函数重载b.友元函数重载c.普通函数重载注意:a.我们主要使用的方式主要是用:类成员函数和友元函数来实现运算符的重载.b.其实用普通函数理论上也是可以实现运算符重载的,因为普通函数与友元函数相对于某个类来说,唯一的区别就是:访问权限,友元函数可以访问类...
分类:
编程语言 时间:
2014-12-06 16:47:30
阅读次数:
166
最近这些天在重温设计模式GOF23,偶然想到友元,不使用都快忘了
今天重温一下C++友元知识,学了之后几乎就没怎么用到,几乎都是与设计模式打交道的。
虽然说友元能提高效率,表达清晰,但是破坏了类的封装机制,所以一般情况下不建议使用友元,
友元类简单demo:
// 类A,希望把私有成员公开给类B
class A
{
friend class B;// 把B设置为友元类
public...
分类:
编程语言 时间:
2014-12-04 08:51:54
阅读次数:
163