面向对象程序设计 第七讲类与对象 6.4支员( friend 堂提要 第6章类与对象 61类定义与对象声明 62对象的使用 63对象成员 6.4友员 friend 6.5静态成员和对象组 织 6.6模板 6.7应用举例
第 6章 类与对象 6.1 类定义与对象声明 6.2 对象的使用 6.3 对象成员 6.4 友员 friend 6.5 静态成员和对象组 织 6.6 模板 6.7 应用举例 第七讲 类与对象 6.4 友员 (friend)
面向对象程序设计 友员( friend) 什么要定义友员类中的私有数据不能堂投要 被外部任意访问修改,只能 由类本身的函数访问修改 第6章类与对象 61类定义与对象声明 62对象的使用 63对象成员 友员的作用 被定义为友员的类或函数64友员nd 6.5静态成员和对象组 可以访问修改类的私有数据 织 6.6模板 6.7应用举例
第 6章 类与对象 6.1 类定义与对象声明 6.2 对象的使用 6.3 对象成员 6.4 友员 friend 6.5 静态成员和对象组 织 6.6 模板 6.7 应用举例 什么要定义友员 类中的私有数据不能 被外部任意访问修改, 只能 由类本身的函数访问修改. 友员 ( friend ) 友员的作用 被定义为友员的类或函数 可以访问修改类的私有数据
面向对象程序设计 友员的定义形式在类内定义 友员类: friend class友员类名 堂提要 友员成员函数 第6章类与对象 friend返回值类型类名:函数名; 61类定义与对象声明 62对象的使用 友员函数 63对象成员 friend函数原型声明 6.4友员 friend 6.5静态成员和对象组 织 6.6模板 6.7应用举例
第 6章 类与对象 6.1 类定义与对象声明 6.2 对象的使用 6.3 对象成员 6.4 友员 friend 6.5 静态成员和对象组 织 6.6 模板 6.7 应用举例 友员的定义形式 在类内定义: 友员类: friend class 友员类名; 友员成员函数: friend 返回值类型 类名::函数名; 友员函数: friend 函数原型声明;
面向对象程序设计 友员类 定义形式将一类声明为另一类的友员 堂提要 例1.先定义两个类“学生”stn和“成绩” sco,再将sco定义为stn的友员 第6章类与对象 61类定义与对象声明 注意:我们将两个类放在一个文件内,而162对象的使用 不是通常的多个文件,主要是避免63对象成员 篇幅太长。 6.4友员 friend 6.5静态成员和对象组 织 6.6模板 6.7应用举例
第 6章 类与对象 6.1 类定义与对象声明 6.2 对象的使用 6.3 对象成员 6.4 友员 friend 6.5 静态成员和对象组 织 6.6 模板 6.7 应用举例 友员类 定义形式 将一类声明为另一类的友员. 例1. 先定义两个类“学生” st_n 和“成绩” sco, 再将 sco 定义为 st_n 的友员. 注意:我们将两个类放在一个文件内,而 不是通常的多个文件,主要是避免 篇幅太长
面向对象程序设计 #include <iostream. h> #include <string class st n char*name,*num;∥学生姓名、学号。 public: 堂提要 st n(char *nl, char n2)i name=new char[strlen(n1)+1] 第6章类与对象 num -new char strlen(n2)+ll 61类定义与对象声明 strcpy(name, nl) 62对象的使用 strcpy(nu, n2);) 63对象成员 void dspo) 6.4友员 friend cout <<n name name 6.5静态成员和对象组 K"n num: < num;) 织 6.6模板 6.7应用举例
第 6章 类与对象 6.1 类定义与对象声明 6.2 对象的使用 6.3 对象成员 6.4 友员 friend 6.5 静态成员和对象组 织 6.6 模板 6.7 应用举例 #include <iostream.h> #include <string.h> class st_n { public: }; st_n(char *n1, char *n2) { name=new char[strlen(n1)+1]; num =new char[strlen(n2)+1]; strcpy(name, n1); strcpy(num, n2); } void dsp( ) { cout << "\n name:" << name << "\n num: " << num; } char *name, *num; //学生姓名、学号