首页 新闻 会员 周边 捐助

c++类的属性是存在数组里吗

0
悬赏园豆:10 [已解决问题] 解决于 2018-07-02 13:49
#include "stdafx.h"
#include<iostream>
#include<cstring>
using namespace std;

class Clazz
{
public:
    float x, y;
    string msg;

    const float& operator [] (uint8_t i) const { return (&x)[i]; }
    float& operator [] (uint8_t i) { return (&x)[i]; }

    Clazz() {}
    Clazz(float x, float y, string msg) :x(x), y(y), msg(msg) {}
};

int main(void)
{
    Clazz clazz = Clazz(1.0f,2.0f,"hello world");
    cout << "clazz.x: " << clazz.x << endl;
    cout << "clazz.y: " << clazz.y << endl;
    cout << "clazz[0] " << clazz[0] << endl;
    cout << "clazz[1] " << clazz[1] << endl;
    cout << "clazz[2] " << clazz[2] << endl;
    cin.get();
    return 0;

输出结果是

怎么理解,有权威的解读或者定义能够解释吗

c++
注销111的主页 注销111 | 初学一级 | 园豆:46
提问于:2018-06-19 16:22
< >
分享
最佳答案
1

<<深度探索C++对象模型>> 这本书有详细介绍,可以解答你的疑惑!!

收获园豆:10
懒人爱吃鱼 | 菜鸟二级 |园豆:214 | 2018-07-02 11:12

感谢!,晚点去看看

注销111 | 园豆:46 (初学一级) | 2018-07-02 13:48
其他回答(1)
0

 说白了程序就是内存和CPU,这里实例化的clazz ,也有他的内存地址,所有的成员都会按顺序排列,还有虚表指针等

m4sterx | 园豆:206 (菜鸟二级) | 2018-06-20 16:16
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册