在C++中struct和class唯一的区别就在于默认的访问权限不同。 区别: 1)struct默认全为公共; 2) class 默认为私有;
#include <iostream>
using namespace std;
class C1
{
int m_A;
};
struct C2
{
int m_A;
};
int main()
{
C1 c1;
C2 c2;
c2.m_A = 100;
system("pause");
return 0;
}
2、成员属性设置为私有 优点: 1)、将所有成员属性设置为私有,可以自己控制读写权限; 2)、对于写权限,我们可以检测数据的有效性;
#include <iostream>
#include<string>
using namespace std;
class Person
{
public:
void setName(string name)
{
m_Name = name;
}
string getName()
{
return m_Name;
}
int getAge(int age)
{
if (age < 0 || age>150)
{
cout << "你这个老妖精" << endl;
return;
}
m_Age = 0;
return m_Age;
}
void setLover(string lover)
{
m_Lover = lover;
}
private:
string m_Name;
int m_Age;
string m_Lover;
};
int main()
{
Person p;
p.setName("张三");
cout << "姓名为:" << p.getName() << endl;
p.setLover("苍劲");
cout << "年龄为:" << p.getAge() << endl;
system("pause");
}
|