#include <iostream>
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; //(1)
stud1.set_data(1,"He",'f');
stud1.display(); //(2)
stud2.set_data(2,"She",'m'); //(3)
stud2.sex='f';
stud2.display(); //(5)
return 0;
}
以上代码出现了一个将私有作为公有运用的问题:
C:\Documents and Settings\Administrator\Cpp2.cpp(28) : error C2248: 'sex' : cannot access private member declared in class 'Student'
改正方法:
#include <iostream>
using namespace std;
class Student
{
private:
int num;
char name[20];
public:
char sex;
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; //(1)
stud1.set_data(1,"He",'f');
stud1.display(); //(2)
stud2.set_data(2,"She",'m'); //(3)
stud2.sex='f';
stud2.display(); //(5)
return 0;
}
运行结果:
心得体会:这样就实现了转变。