class和struct的最基本的區別就是:
1. 默認的繼承訪問權限: struct是public的,class是private的。
在class中,在默認的情況下,它的成員是私有的,而在struct中,默認的情況下,它的成員是公有的!
struct A
{
int a;
};
struct B : A
{
int b;
};
這個時候B是public繼承A的。
如果都將上面的struct改成class,那麼B是private繼承A的。這就是class默認的繼承訪問權限。
如果class A要想public繼承B,則需要標明:class B : public A
指明是public繼承,而不是用默認的private繼承。