virtual-inheritance

    4

    3답변

    기본 클래스의 가상 상속은 여러 파생 클래스 중에서 공통 공유 기본 클래스를 만들어 DDD 문제를 해결한다는 것을 알고 있습니다. 내 기본 클래스에 파생 클래스가 하나만있는 경우 사실상 또는 비 가상 클래스를 상속 할 때 차이가 있습니까? 기본적으로 쿼리 Is it possible to forbid deriving from a class at compile

    9

    3답변

    참조 계산을 구현하는 C++ 클래스가 있고이 클래스의 모든 사용자가 객체가 둘 이상의 참조 카운터로 끝나지 않도록 가상으로 만이 클래스에서 상속 받기를 바랍니다. 나는이 요구 사항을 컴파일 할 때 또는 적어도 런타임 중에 주장하려고한다. 달성 할 수있는 방법이 있습니까?

    6

    2답변

    는의 코드 조각에서 시작하자 : GCC 4.5.1과 4.6.1 파생 클래스의 생성자 사이의 유일한 차이는 첫 번째 명시 적으로 상태이다 Base1로 컴파일 #include <iostream> struct God{ God(){_test = 8;} virtual ~God(){} int _test; }; struct Base1

    32

    1답변

    많은 인터페이스를 구현하는 다소 큰 개체를 구현하려고합니다. 이러한 인터페이스 중 일부는 순수 가상입니다. 다이아몬드 상속에 문제가있을 수 있습니다. Visual Studio에서 C4250 ('class1' : inherits 'class2::member' via dominance)이라는 경고를보고합니다. 우선이 클래스들은 사실상 상속받습니다. 이 문제를

    6

    1답변

    이 예제에서는 다형성의 적용에 약간의 문제가 있습니다. class A { public: virtual A * copy() const = 0; virtual ~A() = 0; }; A::~A(){} class B { public: virtual B * copy() const = 0; virtual ~B()

    3

    2답변

    사용자가 수행 한 작업을 기록하고 싶습니다. 대부분의 OO 언어에서 및 LogoutAction과 같은 여러 자식 클래스가있는 LoggedAction 클래스를 통해이를 구현합니다. 그런 다음 LoggedAction의 목록을 반복하고 가상 상속을 통해 특정 하위 동작을 가져올 수 있습니다. 그러나 장고 모델을 사용하여 작동하지 않습니다. 예 models.py

    -2

    3답변

    내가 가지고있는 다음 코드 (100)를 인쇄하는 이유 struct A { int i; A() { i = 0; } A(int _i) : i(_i) {} virtual void f() { cout << i; } }; struct B1 : virtual A { B1() : A(1) { f(); }

    5

    4답변

    내가 상속에 대해 읽고 있어요 그리고 내가 시간 동안 해결할 수 없었던 중요한 문제가 있습니다 클래스 Bar가 virtual 기능을 가진 클래스가 주어 , class Bar { virtual void Cook(); }; 을 class Foo : public Bar { virtual void Cook(); }; 및 01 : 사

    1

    2답변

    나는 this question을 언급했다 (제목을 바꿨다). virtual에 관련된 코드 생성은 구현에 따라 다릅니다. 그러나 이전의 질문은 비 가상 기본 메서드를 호출 할 때 virtual 상속에 관련된 추가 비용이 있다는 것을 암시합니다. 나는 테스트 코드를 다음과 쓴 (-O4와) ++ g에서의 어셈블리를 확인 : struct Base { in

    -1

    3답변

    내가 가지고있는 다음과 같은 클래스 : class Base { public: Base() { x = 3; } int x; virtual void foo() {}; }; class Med1 : public virtual Base { public: int x; Med1() { x = 4; } v