Какой самый базовый класс в C ++ - PullRequest
4 голосов
/ 26 июля 2010

Надеюсь, этот вопрос не слишком глуп, но что является самым основным классом в стандарте C ++?объект?Object?

class MyObject : public object{  ...

и я получаю «Ожидаемое имя класса перед токеном {»

Есть ли какая-либо карта, диаграмма или изображение, показывающее наследование стандартных классов c ++? Примерно так, но для C ++ ?

Ответы [ 5 ]

14 голосов
/ 26 июля 2010

В C ++ нет базового класса, то есть нет общего базового класса для всех классов.

10 голосов
/ 26 июля 2010

В C ++ нет фундаментального типа объекта, в отличие, например, от Java.

8 голосов
/ 26 июля 2010

В Какао класс NSObject является фундаментальным для фреймворка, но не для самого языка Objective-C. В Objective-C можно создать корневой класс, не производя ничего от чего-либо (но чтобы заставить его работать, вам, вероятно, придется взломать свой путь через вызовы времени выполнения).

Точно так же некоторые основанные на C ++ интегрированные среды могут определять корневой класс, от которого происходят все другие классы в этой интегрированной среде, но это специфично для среды, а не для языка.

3 голосов
/ 26 июля 2010

Диаграмма наследования для библиотеки IOstream здесь .STL является библиотекой шаблонов и не использует ООП.

3 голосов
/ 26 июля 2010

Это самый простой и базовый класс, который вы можете скомпилировать:

class Null
{
};
...