c++类和对象
C++面向对象三大特性:封装,继承,多态
封装:将属性和行为作为一整体,加以权限控制,类似struct
class 类名{访问权限:属性/行为};
//学生,具有学号,姓名,可输入可输出
typedef class student
{
private:
char name[20];
int age;
public:
void add()
{
cout << "请输入名字,年纪" << endl;
cin >> name >> age;
}
void show()
{
cout << "年龄为" << age << endl << "姓名为" << name;
};
}s;
int main()
{
s s1;
s1.add();
s1.show();
return 0;
}
访问权限:
1.public公共权限:类内可以,类外可以
2.protected保护权限:类内可以,类外不可以
3.private私人权限:类内可以,类外不可以
typedef class person
{
public:
string name;
protected:
string sex;
private:
int password;
}p;
int main()
{
p p1;
cin >> p1.name;
//cin >> p1.sex;//不可
//cin >> p1.psssword;//不可
}
//struct和class的区别:
//sturctm默认权限为公共,class默认权限为私有
class c1
{
int age;
};
struct c2
{
int age;
};
int main()
{
class c1 s1;
//s1.age = 100;//不可
struct c2 s2;
s2.age = 100;
return 0;
}
//属性成员设为私有:可以控制读写权限,对于写权限,可以检测数据有效性