c++ - 其中哪些被调用?

标签 c++

假设我有以下代码:

struct date {
    int day;
    int month;
    int year;
};

class mydateclass {
    public: 
        int day;
        int month;
        int year;
};

mydateclass date;

date.day;

引用了哪个date 变量?名为 mydateclassdate 实例,还是 date 结构?

最佳答案

结构声明 称为“日期”。 mydateclass date; 之前没有对象 date 创建。因此,“呼”是没有歧义的。

如果你想以那种方式创建一个对象,那就是:

struct datestruct {
    int day;
    int month;
    int year;
} date;

如果您这样做,您的编译器应该在 mydateclass date; 提示,因为该名称的对象已经存在。

请注意,如果您想处理手头没有对象的类/结构的成员(例如静态成员),您需要::而不是 .如:

struct date {
    static int day;
};

date::day;

关于c++ - 其中哪些被调用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3512982/

相关文章:

c++ - QGraphicsWidget 作为 QObject 的 child

c++ - 如何阻止 `/Gm-` 从 CMake 传递给 clang_cl.exe

c++ - 内置函数以查看CPP中的成员变量

c++ - C++ ARM 编译器是否与 VS2008 捆绑在一起可再分发?

c++ - 快速找到以 2 为底的对数的整数部分

c++ - 如何使用函数在链表中插入元素?

c++ - 确保迭代器解除对特定类型的引用

c++ - 关闭控制台而不退出

c++ - 编译 C++ 代码时在 sun 操作系统上出现 "const access error"

C++:派生类对象被析构时释放动态内存