class TestClass
{
public:
TestClass(int i) { i = i; };
private:
int i;
}
class TestClass2
{
private:
TestClass testClass;
}
Почему приведенный выше код компилируется нормально, даже если мы не предоставили конструктор по умолчанию?
Только если кто-то создает экземпляр TestClass2 в другом месте кода, выполните мы получаем ошибку компиляции. Что здесь делает компилятор? Выглядит странно...
[code]class TestClass { public: TestClass(int i) { i = i; }; private: int i; }
class TestClass2 { private: TestClass testClass; } [/code] Почему приведенный выше код компилируется нормально, даже если мы не предоставили конструктор по умолчанию? Только если кто-то создает экземпляр TestClass2 в другом месте кода, выполните мы получаем ошибку компиляции. Что здесь делает компилятор? Выглядит странно...
В C ++ вы можете унаследовать все конструкторы базового класса, написав, используя baseclass :: baseclass
Мой базовый конструктор имеет как конструктор по умолчанию, и другой, который принимает аргумент, даже если я не имеет значения в этом случае....
Сегодня я обнаружил очень странное поведение при перегрузке функций C#. Проблема возникает, когда у меня есть метод с двумя перегрузками: одна принимает объект, а другая принимает Enum любого типа. Когда я передаю 0 в качестве параметра, вызывается...