成员函数指针,静态成员函数指针,友元函数指针
2009-03-20 15:48
281 查看
#include <stdio.h> class A { public: A(int a) : m_a(a) { } static void foo(void* param) { printf("static %s/n", __func__); } void foo() { printf("%s/n", __func__); } friend void foo(const A& a) { printf("friend %s, %d/n", __func__, a.m_a); } friend void foo1(const A& a); private: int m_a; }; void foo(const A& a); void foo1(const A& a) { printf("friend %s, %d/n", __func__, a.m_a); } int main(int argc, char* argv[]) { void (*f1)(void*) = A::foo; void (*f2)(void*) = &A::foo; (*f1)(NULL); (*f2)(NULL); A a(1); // void (A::*f3)() = A::foo; // error void (A::*f4)() = &A::foo; (a.*f4)(); void (*f5)(const A& a) = &foo; (*f5)(a); void (*f6)(const A& a) = &foo1; (*f6)(a); return 0; }
结果:
static foo
static foo
foo
friend foo, 1
friend foo1, 1
编译环境:
g++ (GCC) 4.1.2 20071124 (Red Hat 4.1.2-42)
Copyright (C) 2006 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
相关文章推荐
- Day41、静态成员变量、静态成员函数、单例模式、成员/成员函数指针、操作符重载、友元函数
- 通过指针访问类的静态成员函数
- 实验3 this指针、常量和静态成员和友元函数的使用
- 成员函数指针和指向静态成员函数的指针
- C++关于this指针、静态变量和静态成员函数 http://www.cnblogs.com/clrmas/archive/2010/03/23/1692893.htm
- C++关于this指针、静态变量和静态成员函数
- C++的静态成员函数指针
- 试图对C++友元函数,静态成员函数做个小结
- boost准模板库date迭代器(指针)使用以及常用的两个静态成员函数is_leap_year()和end_of_month_day()
- 巧妙解决问题:&CMFCcodeDlg::RunCommands”创建指向成员的指针。MFC多线程调用要求调用的接口必须是全局函数或静态成员函数
- 指向成员函数指针,虚函数指针,静态成员函数指针
- 静态成员函数、this指针、对象指针和动态对象使用小结
- 指针 和引用 || 静态成员函数 || 虚函数 || 系统调用和库函数 ||
- 类的成员函数指针,类的静态成员函数指针
- 笔记八:静态变量、静态成员函数、函数指针、静态函数指针
- 【C/C++学院】0819-/类的成员函数与const-mutable /构造与析构/拷贝构造deletedefault以及深浅拷贝/静态成员函数成员变量类在内存的存储默认参数/友元类以及友元函数
- C++非静态成员函数的this指针
- 普通函数,成员函数,静态成员函数与【指针】
- 友元函数、类的非静态成员函数、静态成员函数的区别
- 关于类的静态成员函数指针的问题