65,211
社区成员
发帖
与我相关
我的任务
分享
class A
{
public:
A(){printf(" A");}
A(const A& a) {printf(" COPYCONSTRUCTOR ");}
~A(){printf(" ~A");}
};
class B
{
public:
B(A &a)
{ printf(" B"); _a=a; }
~B(){printf(" ~B");}
private:
A _a;
};
int main()
{
A a;
B b(a);
}
class C
{
public:
C(){printf("0");}
C(int c){printf("1");}
C& operator=(const C& c) { printf("2"); return *this;}
~C(){printf("~C ");}
};
int main()
{
C c1=10;
}
class A
{
public:
void foo( )
{
run(func);
}
void run(PFN pfn) {pfn( );}
void (*func) ( ) {printf("run");}
};
int main()
{
A a;
a.foo();
}
class A
{
public:
typedef void (A::*PFN)();
void foo( )
{
run(&A::func);
}
void run(PFN pfn)
{
(this->*pfn)();
}
void func()
{
printf("run");
}
};
int main()
{
A a;
a.foo();
}
class A
{
public:
typedef void (*func)();
void Func( ) {printf("run");}
void run(func pfn) { pfn( );}
void foo( )
{
run(func);
}
};
int main()
{
A a;
a.foo();
}