十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
今天就跟大家聊聊有关C++中怎么存储属性和方法,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。
在简阳等地区,都构建了全面的区域性战略布局,加强发展的系统性、市场前瞻性、产品创新能力,以专注、极致的服务理念,为客户提供成都做网站、成都网站制作 网站设计制作定制设计,公司网站建设,企业网站建设,品牌网站建设,成都全网营销,外贸网站建设,简阳网站建设费用合理。
内容介绍:
在C++中对于一个Class,它内部的数据和方法到底是如何存储的呢?是将数据和方法都存储到Class的单个对象中呢,还是会将数据和方法分开来存储?如下图所示:
答案是图2,每个对象占用存储空间的只是该对象的数据部分(虚函数指针和虚基类指针也属于数据部分),函数代码属于公用部分,所以在Class的存储中,将数据部分与对象关联,函数部分则是存储在一个公共的地方。
代码实例:
#include
using namespace std;
class Node {
public:
int age;
string name;
void print();
};
void Node::print() {
cout<<"print &name:"<<&name<<" name:"<
cout<<"&print():"<<(void*)(&Node::print)<
}
int main() {
Node n;
n.name = "Davis";
n.age = 19;
n.print();
Node n1;
n1.name = "Jack";
n1.age = 18;
n1.print();
return 0;
}
输出结果:
结果分析:
通过输出我们可以看出,Node的两个对象n和n1中存储的数据name、age地址是不相同的,但是它们的公共函数print()的地址是相同的。
看完上述内容,你们对C++中怎么存储属性和方法有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注创新互联行业资讯频道,感谢大家的支持。