typedef in a class- C++

typedef in a class- C++

本文关键字:C++ class- in typedef      更新时间:2023-10-16

A和B在主程序中有什么区别?

A)

#include<iostream>
class Base
{
    typedef int index;
public:
    index i;
};

B)
#include<iostream>
class Base
{
    public:
    typedef int index;
    index i;
};

在前者中,只有Base的成员才能使用typedef Index。在后者中,每个人都可以通过说Base::Index来使用typedef。

访问类型默认为私有类(structs默认为public),这意味着您的typedef不能从子类(派生类)或类外使用(只能在类本身内部使用)。B声明它是公共的,这意味着它可以在任何地方使用。