6-13/6-14/6-15
//6-13
#include<iostream> using namespace std; class Point { public: Point(int x=0,int y=0):x(x),y(y){} int getX() const {return x;} int getY() const {return y;} private: int x,y; }; int main() { Point a(4,5); Point * p1=&a; int (Point::*funcPtr)() const=&Point::getX; cout<<(a.*funcPtr)()<<endl; cout<<(p1->*funcPtr)()<<endl; cout<<a.getX()<<endl; cout<<p1->getX()<<endl; return 0; }
1 #include <iostream> 2 //6-14 3 using namespace std; 4 5 class Point 6 { 7 public: 8 Point(int x=0,int y=0):x(x),y(y) 9 { 10 count++; 11 } 12 Point(const Point &p):x(p.x),y(p.y) 13 { 14 count++; 15 } 16 ~Point() 17 { 18 count--; 19 } 20 int getX() const 21 { 22 return x; 23 } 24 int getY() const 25 { 26 return y; 27 } 28 static int count; 29 private: 30 int x,y; 31 }; 32 int Point::count=0; 33 int main() 34 { 35 int *ptr=&Point::count; 36 Point a(4,5); 37 cout<<"Point A:"<<a.getX()<<","<<a.getY(); 38 cout<<"Object count= "<<Point::count<<endl; 39 Point::count=100; 40 Point b(a); 41 cout<<"Point B: "<<b.getX()<<", "<<b.getY(); 42 cout<<"Object count="<<*ptr<<endl; 43 44 return 0; 45 }
1 #include <iostream> 2 //6-15 3 using namespace std; 4 5 class Point 6 { 7 public: 8 Point(int x=0,int y=0):x(x),y(y) 9 { 10 count++; 11 } 12 Point(const Point &p):x(p.x),y(p.y) 13 { 14 count++; 15 } 16 ~Point(){count--;} 17 int getX() const {return x;} 18 int getY() const {return y;} 19 20 static void showCount() 21 { 22 cout<<" Object count="<<count<<endl; 23 } 24 private: 25 int x,y; 26 static int count; 27 }; 28 29 int Point::count=0; 30 31 int main() 32 { 33 void (*funcPtr)()=Point::showCount; 34 35 Point a(4,5); 36 cout<<"Point A:"<<a.getX()<<", "<<a.getY(); 37 38 funcPtr(); 39 40 Point b(a); 41 cout<<"Point B:"<<b.getX()<<","<<a.getY(); 42 funcPtr(); 43 44 return 0; 45 }
不要让今天成为明天的遗憾!