友元函数、类的非静态成员函数、静态成员函数的区别
2011-07-21 21:02
447 查看
类中申明的函数相对于类来说有三层意思:
1.有this指针
2.函数在类的作用区域中
3.可以访问类中私有部分
4.可以被继承
非静态成员函数具有1234
静态成员函数具有234
友元函数具有3
静态成员函数与友元函数的区别只是作用区域的不同
友元函数具有全局性 不慎使用可能会造成函数同名冲突
虽然命名空间能解决一定的问题,但我还是偏向使用静态成员函数= =
1.静态成员函数的地址可用普通函数指针储存,而普通成员函数地址需要用 类成员函数指针来储存。举例如下:
class base{
static int func1();
int func2();
};
int (*pf1)()=&base::func1;//普通的函数指针
int (base::*pf2)()=&base::func2;//成员函数指针
2.静态成员函数不可以调用类的非静态成员。因为静态成员函数不含this指针。
3.静态成员函数不可以同时声明为 virtual、const、volatile函数。举例如下:
class base{
virtual static void func1();//错误
static void func2() const;//错误
static void func3() volatile;//错误
};
最后要说的一点是,静态成员是可以独立访问的,也就是说,无须创建任何对象实例就可以访问。
// if ($ != jQuery) {
$ = jQuery.noConflict();
}
var isLogined = true;
var cb_blogId = 40940;
var cb_entryId = 1535650;
var cb_blogApp = "Myhsg";
var cb_blogUserGuid = "4049420b-63cf-dd11-9e4d-001cf0cd104b";
var cb_entryCreatedDate = '2009/7/31 9:34:00';
// ]]>
1.有this指针
2.函数在类的作用区域中
3.可以访问类中私有部分
4.可以被继承
非静态成员函数具有1234
静态成员函数具有234
友元函数具有3
静态成员函数与友元函数的区别只是作用区域的不同
友元函数具有全局性 不慎使用可能会造成函数同名冲突
虽然命名空间能解决一定的问题,但我还是偏向使用静态成员函数= =
1.静态成员函数的地址可用普通函数指针储存,而普通成员函数地址需要用 类成员函数指针来储存。举例如下:
class base{
static int func1();
int func2();
};
int (*pf1)()=&base::func1;//普通的函数指针
int (base::*pf2)()=&base::func2;//成员函数指针
2.静态成员函数不可以调用类的非静态成员。因为静态成员函数不含this指针。
3.静态成员函数不可以同时声明为 virtual、const、volatile函数。举例如下:
class base{
virtual static void func1();//错误
static void func2() const;//错误
static void func3() volatile;//错误
};
最后要说的一点是,静态成员是可以独立访问的,也就是说,无须创建任何对象实例就可以访问。
// if ($ != jQuery) {
$ = jQuery.noConflict();
}
var isLogined = true;
var cb_blogId = 40940;
var cb_entryId = 1535650;
var cb_blogApp = "Myhsg";
var cb_blogUserGuid = "4049420b-63cf-dd11-9e4d-001cf0cd104b";
var cb_entryCreatedDate = '2009/7/31 9:34:00';
// ]]>
相关文章推荐
- 第六周项目四:成员函数、友元函数和一般函数有区别(实践项目)
- 第六周项目四 成员函数、友元函数和一般函数区别
- 成员函数、友元函数和一般函数有区别
- 一般函数-求点类中距离-区别成员函数、友元函数和一般函数
- 第六周 项目四--成员函数、友元函数和一般函数有区别 友元函数
- 飛飛(二十四)成员函数,友元函数,和一般函数的区别
- 第四周上机项目4 成员函数、友元函数和一般函数有区别
- 第7周项目二-成员函数、友元函数和一般函数之区别 点类
- static关键字的作用以及静态成员函数与非静态成员函数的区别
- Day41、静态成员变量、静态成员函数、单例模式、成员/成员函数指针、操作符重载、友元函数
- 第七周项目一-成员函数、友元函数和一般函数有区别
- 第七周上机实践项目 项目1-成员函数,友元函数,和一般函数的区别(1)
- 第七周项目3-成员函数、友元函数和一般函数区别
- 静态成员函数和普通成员函数的区别
- 第六周 项目4-成员函数、友元函数和一般函数的区别---成员函数
- 项目21--成员函数、友元函数和一般函数有区别
- 第六周 项目四-成员函数、友元函数和一般函数有区别 一般函数
- 成员函数,友元函数和一般函数之区别
- 第五周项目 4 成员函数、友元函数和一般函数有区别
- 第七周 项目二:成员函数、友元函数、一般函数之区别(实现三个版本的求两点间距离)