要搞清楚类必须得理解结构体
和类相同,C++中定义结构体内部同样包含变量和函数
#include <iostream>
#include <string>
using namespace std;
struct MyStruct
{
int id;
double money;
string name;
void speak()
{
cout << "id:" << id << endl << "money" << money << endl;
}
};
int main()
{
MyStruct ms;
ms.id = 1;
ms.money = 1314.5201;
ms.name = "xiaowu";
ms.speak();
}
大家如果更深入了解结构体,可以看一下优秀前辈关于结构体的讲述
链接: link
可如果改为类,则会报错,可以思考一下
#include <iostream>
#include <string>
using namespace std;
class MyClass
{
int id;
double money;
string name;
void speak()
{
cout << "id:" << id << endl << "money" << money << endl;
}
};
int main()
{
MyClass ms;
ms.id = 1;
ms.money = 1314.5201;
ms.name = "xiaowu";
ms.speak();
}
这是由于类中如果未定义类属性则为私有属性private:,私有属性则不能直接访问,在对应类定义前面加个public:即可。而结构体则默认为public属性。
如家里的水果为公有,大家都能吃。 自己的钱则为私有,只有自己可以支配。而族谱为保护,内部人员才能调用。
若需要调用私有数据,可以参考前辈这篇文章,有比较详细的介绍。
链接: link