[工学]C++面向对象程序设计第二章.ppt
文本预览下载声明
2.4 对象成员的引用 定义了对象后,可以直接访问对象中的公有类型的数据成员或成员函数。 在程序中访问对象成员有三种方法。 2.4.1 用对象名和成员运算符访问成员 2.4.2 用指向对象的指针访问成员 2.4.3 用对象的引用访问成员 2.4.1通过对象名和成员运算符访问 格式: 对象名.成员名 例: st1.display(); // 调用成员函数 display(); // 调用普通函数 注意: 只有成员函数可以访问类中的所有成员,而在类外只能访问公有成员。 如果在类外面用下面的语句是错误的: st1.num = 10101 2.4.2通过指向对象的指针访问成员 可以通过指针访问对象中的成员。 class Time { public: int hour; int minute; }; Time t, *p; t.hour=10; t.minute=20; p= t; cout p-hourendl; cout *p.hourendl; p-hour表示p当前指向对象t中的成员hour, 此时(*p).hour也代表对象t中的成员hour,在这个例子中,p-hour、(*p).hour、t.hour三种表示是一个意思。 2.4.2通过指向对象的指针访问成员(续) 2.4.3通过对象的引用来访问对成员 分析: Time t1; Time t2=t1; //对象t2是对象t1的引用 cout t2.hour; 这里t2是t1的别名,所以访问t2.hour就是访问t1.hour。 2.5类和对象的简单应用举例 这小节通过几个例子说明怎样用类设计程序,以及使用类的长处。 书上例2.1,2.2的设计方法不可取! 例2.3 类成员的调用 #include iostream using namespace std; class Time {private: int hour; int minute; int sec; public: void set_time() ; void show_time(); }; int main() { Time t1; t1.set_time(); t1.show_time(); Time t2; t2.set_time(); t2.show_time(); return 0; } 例2.3 类成员的调用(续) void Time::set_time() { cinhour; cinminute; cinsec; } void Time::show_time() { couthour:minute:secendl; } 例2.3 类成员的调用(续) 例2.4在整型数组中找最大值 #include iostream using namespace std; class Array_max //声明类 {public: void set_value(); void max_value(); void show_value(); private: int array[10]; int max; }; void Array_max::set_value() //定义类的成员函数 { int i; for (i=0;i10;i++) cinarray[i]; } void Array_max::max_value() //定义类的成员函数 { int i; max=array[0]; for (i=1;i10;i++) if(array[i]max) max=array[i]; } void Array_max::show_value()//定义类的成员函数 { coutmax=max; } 例2.4在整型数组中找最大值(续) int main() { Array_max arrmax; arrmax.set_value(); //调用成员函数 arrmax.max_value(); //调用成员函数 arrmax.show_value(); //调用成员函数
显示全部