摘要:
在类定义中,它的成员(包括数据成员和 成员函数)可以用关键字static声明为静 态的,这些成员称为静态成员 静态成员的特性: • 不管这个类创建了多少个对象,静态成员只有一个拷贝,这个拷贝被所有属于这个类的 对象共享 静态成员包括: • 静态数据成员 • 静态成员函数 在一个类中,若将一个数据成员 阅读全文
摘要:
运算符重载函数的形式是: • 返回类型 operator 运算符符号 (参数说明) { //函数体的内部实现 } • 至少有一个参数是自定义类型(数组,类) • 如果是单目运算符,只传一个参数 • 如果是双目运算符,传两个参数 c++也规定了一些运算符不能够自定义重载 • 例如 ::、sizeof、 阅读全文
摘要:
C++中的友元为数据隐藏这堵不透明的墙 开了一个小孔,外界可通过这个小孔窥 视类内部的秘密,友元是一扇通向私有 成员的后门 友元可分为:友元函数 友元成员 友元类 友元函数不是当前类的成员函数,而是独立于当前类的外部函数,但它可以访 问该类的所有对象的成员,包括私有成 员和公有成员 在类定义中声明 阅读全文
摘要:
malloc/free是标准的库函数,而new/delete是操作符 匹配使用原则:malloc(calloc/realloc)和free 以及new/new[] 和delete/delete[]; delete 释放new分配的单个对象指针指向的内存 delete[] 释放new分配的对象数组指针 阅读全文
摘要:
派生的方式 公有方式派生(public) 私有方式派生(private) 保护方式派生(protected) 多继承 多继承 多继承可以看作是单继承的扩展。所谓多继承是指派生类具有多个基类,派生类与每个基类之间的关系仍可看作是一 个单继承。 当使用多继承时要注意避免发生二义性 class A { v 阅读全文
摘要:
结构与类的区别是:默认访问级别不同 类使用注意: • 类的声明中的 private 和 public两个关键字可以按任意顺序出现任意次。为了使程序更加清晰,把所有私有成员和公有成员归类放在一起 • 除了 private 和 public 之外,还有 protected(保护性成员)关键字 • 数据成 阅读全文
摘要:
简单分为:全局作用域、局部作用域、语句作用域 如果希望在局部变量的作用域内使用同名的全局变量,可以在该变量前加上“::” ::aver=20 #include<iostream> using namespace std; int var = 20; int main(int argc, char * 阅读全文
摘要:
编译器将使用相应的函数代码替换函数调用。因此,内联函数的运行速度比常规函数稍快,但代价是需要占用更多内存。 内联函数与宏定义的区别 C语言使用预处理器语句#define来提供宏。如下例所示: #define SQUARE(X) X*X 宏定义时通过文本替换开实现的--X是参数的符号标记。 a = s 阅读全文
摘要:
命名空间的定义: namespace myName{ //namespace member ...... } //注意没有分号 例: namespace CompanyA{ void fun() {//......} int num; } CompanyA::fun();CompanyA::num 阅读全文
摘要:
HashMap 的工作原理及代码实现 底层数组+链表实现,可以存储null键和null值,线程不安全 初始size为16,扩容:newsize = oldsize*2,size一定为2的n次幂 扩容针对整个Map,每次扩容时,原来数组中的元素依次重新计算存放位置,并重新插入 插入元素后才判断该不该扩 阅读全文