定义类时,可以将属性用m_表示,避免赋值的重名;
struct 和class都可以定义类,唯一区别在于class默认成员private,struct默认成员public;
创建学生对象案例
#include<iostream>
#include<string>
using namespace std;
//设计一个学生类;
class stu
{
//访问权限:
public:
//属性:
string m_name;
int m_num=0;
//行为:
void ShowName() {
cout << "姓名:" << m_name << endl;
}
void ShowNum() {
cout << "学号:" << m_num << endl;
}
void Set(int num, string name)
{
m_num = num;
m_name = name;
}
};
int main()
{
//利用类创建具体的学生对象;
stu st1;
//给对象属性赋值;
st1.m_name = "miaomaio";
st1.m_num = 1356;
//调用行为输出姓名学号;
st1.ShowName();
st1.ShowNum();
stu st2;
//可以通过行为给对象属性赋值;
st2.Set(1288, "喵");
//调用行为输出姓名学号;
st2.ShowName();
st2.ShowNum();
system("pause");
return 0;
}
下面程序中:
无法直接访问默认的private的姓名、学号;只可以通过Set函数间接访问;
#include<iostream>
#include<string>
using namespace std;
//设计一个学生类;
class stu
{
//属性:
string m_name;
int m_num=0;
public:
//行为:
void ShowName() {
cout << "姓名:" << m_name << endl;
}
void ShowNum() {
cout << "学号:" << m_num << endl;
}
void Set(int num, string name)
{
m_num = num;
m_name = name;
}
};
int main()
{
stu st2;
//通过行为间接给对象属性赋值;
st2.Set(1288, "喵");
//调用行为输出姓名学号;
st2.ShowName();
st2.ShowNum();
system("pause");
return 0;
}