1.简单的学生类
#include <iostream>
using namespace std;
//设计一个学生类,属性有姓名和学号
//可以给姓名和学号复制,可以显示学生的姓名和学号
//设计学生类
class Student
{
public:
void setName(string name) {
m_Name = name;
}
void setID(int id) {
m_Id = id;
}
void showStudent() {
cout << "name:" << m_Name << "ID:" << m_Id << endl;
}
public: //公共权限
//属性
string m_Name; //姓名
int m_Id; //学号
};
int main()
{
Student stu;
stu.setName("张三");
stu.setID(222);
stu.showStudent();
return 0;
}
2.访问权限
//公共权限 public 成员 类内可以访问 类外可以访问
//保护权限 protected 成员 类内可以访问 类外不可以访问 儿子可以访问父亲中的保护内容
//私有权限 private 成员 类内可以访问 类外不可以访问 儿子不可以访问父亲中的私有内容
#include <iostream>
using namespace std;
class Person
{
//姓名 公共权限
public:
string m_Name;
//汽车 保护权限
protected:
string m_Car;
//银行卡密码 私有权限
private:
int m_Password;
public:
void func() {
m_Name = "张三";
m_Car = "拖拉机";
m_Password = 123456;
}
};
int main()
{
//实例化具体对象
Person p1;
p1.m_Name = "李四";
//p1.m_Car = "奔驰"; //保护权限内容,在类外访问不到
//p1.m_Paswsword = 123;//私有权限内容,类外访问不到
//函数体内部可以访问所有属性
p1.func();
return 0;
}
3.struct和class的区别
struct 默认权限的 公有public
class 默认权限是 私有private
#include <iostream>
using namespace std;
class C1
{
int m_A; //默认是私有权限
};
struct C2
{
int m_A; //默认是公共权限
};
int main()
{
C1 c1;
c1.m_A = 10; //错误,访问权限是私有
C2 c2;
c2.m_A = 10; //正确,访问权限是公共
}
4.成员属性设置为私有
#include <iostream>
using namespace std;
//成员属性设置为私有
//1.可以自己控制读写权限
//2.对于写可以检测数据有效性
//人类
class Person
{
public:
//设置姓名
void setName(string name)
{
m_Name = name;
}
//获取姓名
string getName()
{
return m_Name;
}
//获取年龄
int getAge()
{
return m_Age;
}
//设置年龄(0~150)
void setAge(int age)
{
if (age < 0 || age>150)
{
cout << "年龄输入有误,赋值失败" << endl;
return;
}
m_Age = age;
}
//设置偶像
void setIdol(string idol)
{
m_Idol = idol;
}
private:
string m_Name; //姓名 可读可写
int m_Age = 19; //年龄 只读 也可以写(年龄必须在0到150之间)
string m_Idol; //偶像 只写
};
int main()
{
Person p;
p.setName("张三");
cout << "姓名: " << p.getName() << endl;
p.setAge(160);
cout << "年龄:" << p.getAge() << endl;
p.setIdol("小米");
system("pause");
return 0;
}