Lession 15 C++中一些特殊的技术
来源:互联网 发布:车品逸导航软件下载 编辑:程序博客网 时间:2024/05/18 02:51
一、指向成员的指针
1. 指向数据成员的指针
int A::*pint = NULL;
int A::*p = &A::m_val; // 则可以用p来访问成员m_val的值,当然是与对象挂勾的;
2. 指向成员函数的指针
void A::fun(int); //成员函数
void (A::*pf)(int);
获得成员函数地址:&A::fun;
A::pf = &A::fun; // pf是指向函数指针的指向 注意不是:pf = A::fun;
A a; a.*pf; // a.fun();
二、嵌套类
1). 在一个类中嵌套的定义另一个类;
class Tree // 内围类
{
public:
class Node // 外围类
{
static int va;
};
};
嵌套类的成员函数可以在嵌套类里或外定义,但不能在外围类里定义;实现时要把外围类的作用域加入;
int Tree::Node::va;
嵌套类可以只在外围类中声明,实现放在外围类:
class A
{
public:
class B; // 声明嵌套类
int m_val;
};
class A::B // 嵌套类的实现
{
public:
int m_val; // 成员变量与A类中的成员变量可以相同;是两个不同的作用域
};
main()
{
A::B ab;
}
1. A类不能访问内部类B的非公有成员变量
2)类成员函数的名字解析
名字解析是从小{}开始寻找,依次在外围{}中找;如果要直接调用全局可以用::运算符;
3)局部类
void fun()
{
int v = 0;
class InC
{
public::
void Infun()
{
int a =v; // 错
}
}
}
类成员函数中定义的类;局部 类中不能定义static成员;外部不能访问局部类中的成员;
局部类中不能直接使用外围函数的变量
- Lession 15 C++中一些特殊的技术
- C/C++中macro的一些特殊使用
- C和C++中一些特殊宏的应用
- C语言中如何输出一些特殊的字符
- c 语言中一些特殊函数的整理
- MyEclipse中的一些特殊的注释技术
- Eclipse中的一些特殊的注释技术
- 一些特殊用途的C语句
- Objective-C中的一些特殊的数据类型
- c语言一些比较特殊的函数
- C语言的一些特殊用法(#define)
- Objective-C中的一些特殊的数据类型
- Objective-C中的一些特殊的数据类型
- Objective-C中的一些特殊的数据类型
- Objective-C中的一些特殊的数据类型
- Objective-C中的一些特殊的数据类型
- Objective-C中的一些特殊的数据类型
- Objective-C中的一些特殊的数据类型
- java操作mysql的增删改查
- c++ vector 用法
- 实现富文本编辑--RichFaces学习(一){可能没有二}
- hdu 4925 Apple Tree(2014 Multi-University Training Contest 6)
- Javascript 面向对象编程
- Lession 15 C++中一些特殊的技术
- SD卡初始化及读写流程
- VDSM(4)SD和SP
- Javaweb 网站开发 总结
- HDU-#1013 Digital Roots(九余数定理)
- 学习日记之大话设计模式和Effective C++大结局
- java——zip解压
- 模拟鼠标、键盘事件
- UVALive 5691 二分图匹配||陈老师的多校联合20140818 J题