다음과 같은 코드가 있다고 가정 해 보겠습니다. class some_class{};
some_class some_function()
{
return some_class();
}
이것은 꽤 잘 작동하는 것처럼 보이고 반환 값을 만들기 위해 변수를 선언해야하는 번거 로움을 덜어줍니다. 그러나 저는 어떤 종류의 튜토리얼이나 레퍼런스에서 이것을
class someclass {};
class base
{
int a;
int *pint;
someclass objsomeclass;
someclass* psomeclass;
public:
base()
{
objsomeclass = someclass();
psomeclass
나는 이것이 다양한 코드베이스라는 것을 보았으며, 이것이 일반적으로 싫은지 알기를 원했다. 예를 들어 : public class MyClass
{
public int Id;
public MyClass()
{
Id = new Database().GetIdFor(typeof(MyClass));
}
}
C#에서 기본 생성자를 사용하여 상속 된 클래스가있는 경우 명시 적으로 기본 클래스의 생성자를 호출해야합니까? 그렇지 않으면 암시 적으로 호출됩니까? class BaseClass
{
public BaseClass()
{
// ... some code
}
}
class MyClass : BaseClass
{
C#에서는 이제 default(Foo)을 사용하여 클래스의 "채워지지 않은"/ 빈 인스턴스를 인식 할 수 있습니다. 정확히 new Foo()과 같은지 확실하지 않습니다. 많은 라이브러리 클래스도 비슷한 인스턴스를 반환하는 Foo.Empty 속성을 구현합니다. 물론 모든 참조 유형은 null을 가리킬 수 있습니다. 그래서 정말로, 차이점은 무엇입니까? 언제
VC++는 클래스 선언 인라인 함수 내에서 구현되는 함수를 만듭니다. 다음과 같이 클래스 Foo을 선언하면 생성자 및 작성자 인라인 함수는 다음과 같습니다. 클래스 내부의 생성자의 몸을 정의는 class Foo
{
int* p;
public:
Foo() { p = new char[0x00100000]; }
~Foo() { de
Ryan Delucchi은 Tom Hawtin의 대답에 주석 # 3 here 질문 : 이유에 Class.newInstance() "악"? 코드 샘플에 응답 이는 : // Avoid Class.newInstance, for it is evil.
Constructor<? extends Runnable> ctor = runClass.getConstructor(
내가 싱글 톤을위한 PHP (> = 5.0) 클래스를 작성한다고 가정 해 보겠습니다. 내가 읽은 모든 문서는 클래스 생성자를 private으로 만들어 클래스를 직접 인스턴스화 할 수 없다고 말합니다. 나는 이런 식으로 뭔가가있는 경우 그래서 : class SillyDB
{
private function __construct()
{