在C++中struct和class唯一的区别就在于默认的访问权限不同。
区别:
1)struct默认全为公共;
2) class 默认为私有;
#includeusing namespace std; class C1 { int m_A;//默认为私有 }; struct C2 { int m_A;//默认全为公共 }; int main() { C1 c1; //c1.m_A=100; C2 c2; c2.m_A = 100; system("pause"); return 0; }
2、成员属性设置为私有
优点:
1)、将所有成员属性设置为私有,可以自己控制读写权限;
2)、对于写权限,我们可以检测数据的有效性;
#include#include 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.setLover() << endl; cout << "年龄为:" << p.getAge() << endl; system("pause"); }



