实验9 类与指针
【实验目的】
通过本实验,强化理解指针变量指向类的数据成员、成员函数及类对象的概念。
【实验要求】
熟练掌握指针变量指向类的数据成员、成员函数及类对象的方法。
【实验内容】
练习下面的程序,理解指针变量指向类的数据成员、成员函数及类对象的方法。
#include<iostream>
using namespace std;
class A{
private:
int a;
public:
A(int i):a(i){}
int f(int b){ return a+b+c; }
int c;
};
int main(){
A x(8);
int A::*p=&A::c;
x.*p=3; cout<<"Result= "<<x.f(5)<<endl;
int (A::*q)(int)=&A::f;
A *k=&x; k->*p=4;
cout<<"Result= "<<x.f(5)<<endl;
k->c=5;
cout<<"Result= "<<(k->*q)(5)<<endl;
return 0;
}
练习下面的程序,理解成员函数中的this指针变量的用法。
#include<iostream>
using namespace std;
class A{
private:
int a,b;
public:
A(){ a=b=0; }
A(int i,int j):a(i),b(j){}
void f(A &a){
if(this==&a) return;
*this=a;
}
inline void display()const {cout<<a<<" , "<<b<<endl;}
};
int main(){
A a1,a2(5,6);
a1.f(a2);
a1.display();
return 0;
}