/*Copyright (c) 2011, 烟台大学计算机学院 * All rights reserved. * 作 者: 石尧 * 完成日期:2014 年03 月 15日 * 版 本 号:v1.0 * * 问题描述:类的描述。 * 样例输入:略. * 样例输出:略。 * 问题分析:略。 */ #include <iostream> #include <cstring> using namespace std; class Student { private: int num; char name[20]; char sex; public: void set_data(int n, char *p,char s) { num=n; strcpy(name,p); sex=s; } void display( ) { cout<<"num: "<<num<<endl; cout<<"name: " <<name<<endl; cout<<"sex: " <<sex<<endl; } }; int main() { Student stud1,stud2; stud1.set_data(1,"He",'f'); stud2.set_data(2,"She",'m'); stud1.display(); stud2.display(); return 0; } 实践和思考: 程序中定义的类名是__student______? 在main函数中,定义的stud1和stud2称为_对象___________? 该类中,num、name、sex称为类的__数据成员_______,其访问权限为_私有_______,意味着_只有student函数能调用________。 该类中,set_data和display称为类的_成员函数______,其访问权限为__公用______,意味着_整个函数都能调用________。 在main()函数中26行后,调用stud1.display();,将会出现什么结果?请解释原因。________ 请删除上面加的一行代码,在main()函数的28行后,调用stud2.sex='f';,记录提示的错误_没有定义____?为什么会这样?_因为私有函数不能被公有化______ 将第9行char sex;移到第10行后面,即将sex成员声明为公共数据成员,再次编译程序。请解释不会出错的原因,并对这种做法进行评价。_此函数只能用一次,如果定义常变量的话不易操作复杂数据_______________________ 将第6行private: 去掉,结果是否发生变化,请解释原因。不会,因为自定义了_______ 将第10行public: 去掉,记录出现的情况,并解释原因。_数据全部变为私有数据______