标签: class-hierarchy

127
推荐指数
3
解决办法
8万
查看次数

两个超类具有相同名称但不同签名的成员函数时不明确

struct A {
    void f(int x) {}
};

struct B {
    template<typename T> void f(T x) {}
};

struct C : public A, public B {};

struct D {
    void f(int x){}
    template<typename T> void f(T x) {} 
};


int main(int argc, char **argv) {
    C c;
    c.f<int>(3);
    D d;
    d.f<int>(3);
}
Run Code Online (Sandbox Code Playgroud)

呼叫d.f是好的原因是什么,但是c.f给出了

error: request for member ‘f’ is ambiguous
error: candidates are: template<class T> void B::f(T)
error:                 void A::f(int)
Run Code Online (Sandbox Code Playgroud)

c++ templates class-hierarchy

27
推荐指数
1
解决办法
3488
查看次数

我可以在Eclipse的类型层次结构视图中看到接口吗?

当我检查从Eclipse中的接口派生的类的类型层次结构时,它不显示接口.有没有办法配置Eclipse以显示类型层次结构中的接口?或者还有其他方法可以查看此信息吗?

java eclipse interface class-hierarchy

21
推荐指数
2
解决办法
3342
查看次数

ruby是否提供了显示层次结构调用的方法?

这就是全部,我想看看继承固定类的clases是什么.在RUBY中有一种方法吗?

Aptana提供了一个显示此选项的选项,但是有什么方法吗?

谢谢

ruby hierarchy class-hierarchy

15
推荐指数
2
解决办法
4158
查看次数

我需要实现具有继承的C#深层复制构造函数.有哪些模式可供选择?

我希望在C#中实现我的类层次结构的深度复制

public Class ParentObj : ICloneable
{
    protected int   myA;
    public virtual Object Clone ()
        {
             ParentObj newObj = new ParentObj();
             newObj.myA = theObj.MyA;
             return newObj;
        }
}

public Class ChildObj : ParentObj
{
    protected int   myB;
    public override Object Clone ( )
        {
             Parent newObj = this.base.Clone();
             newObj.myB = theObj.MyB;

             return newObj;
        }
}
Run Code Online (Sandbox Code Playgroud)

这不起作用,因为克隆孩子只是父母是新的.在我的代码中,一些类具有大的层次结构.

这样做的推荐方法是什么?克隆每个级别的所有内容而不调用基类似乎是错误的?这个问题必须有一些巧妙的解决方案,它们是什么?

能否感谢大家的回答.看到一些方法真的很有趣.我认为如果有人举一个完整性的反思答案的例子会很好.+1等待!

.net c# clone class-hierarchy

13
推荐指数
3
解决办法
2万
查看次数

在.NET中显示类层次结构的工具

有没有一种方法/工具可以显示我在项目中实现某个界面的所有类/接口?在Eclipse(Java)中,我将使用上下文菜单"Open Type Hierarchy"选项,它将显示一个(漂亮)类型的树,它扩展了所选类型.是否有工具在.NET中执行相同的操作?

.net class-hierarchy

12
推荐指数
2
解决办法
1万
查看次数

python中的类继承

我正在解决这个问题:

考虑以下类的层次结构:

class Person(object):     
    def __init__(self, name):         
        self.name = name     
    def say(self, stuff):         
        return self.name + ' says: ' + stuff     
    def __str__(self):         
        return self.name  

class Lecturer(Person):     
    def lecture(self, stuff):         
        return 'I believe that ' + Person.say(self, stuff)  

class Professor(Lecturer): 
    def say(self, stuff): 
        return self.name + ' says: ' + self.lecture(stuff)

class ArrogantProfessor(Professor): 
    def say(self, stuff): 
        return 'It is obvious that ' + self.say(stuff)
Run Code Online (Sandbox Code Playgroud)

如上所述,当使用Arrogant Professor类时,此代码会导致无限循环.

更改ArrogantProfessor的定义,以便实现以下行为:

e = Person('eric') 
le = Lecturer('eric') 
pe = Professor('eric') 
ae = ArrogantProfessor('eric')

e.say('the …
Run Code Online (Sandbox Code Playgroud)

python oop class class-hierarchy python-2.7

12
推荐指数
1
解决办法
3199
查看次数

有没有办法找到Matlab类的所有孩子?

Matlab函数superclasses返回给定类的所有父项的名称.

是否有相当于找到从给定类派生的所有类,子类?该函数allchild似乎仅限于图形句柄.

如果没有,可以采取什么策略来获得这样的清单?蛮力路径扫描是唯一的选择吗?

让我们把自己局限于Matlab路径中的类.

oop matlab subclass class-hierarchy

12
推荐指数
3
解决办法
1269
查看次数

实体框架中的类和接口层次结构?

我有两个相关的类,它们共享一个公共接口,并且都存储在同一个底层数据库表中.但是,实体框架生成一个公共类,我真的需要两个不同的类.我该如何解决这个问题?最好使用基类而不是接口吗?如何更改EF模型以提供映射到一个表的两个类?

编辑: AccountType属性确定类的类型; 用户或组.

一些简单的代码:

public interface IAccount
{
    string Name { get; set; }
    AccountType AccountType { get; set; }
}

public class GroupAccount : IAccount
{
    public string Name { get; set; }
    public GroupType GroupType { get; set; }
    public AccountType AccountType { get; set; }
}

public class UserAccount : IAccount
{
    public string Username { get; set; }
    public string Password { get; set; }
    public string Name { get; set; }
    public AccountType AccountType …
Run Code Online (Sandbox Code Playgroud)

c# entity-framework class-hierarchy

11
推荐指数
1
解决办法
5972
查看次数

IntelliJ IDEA:有没有办法列出一个类及其父类实现的所有接口?

我从事一个相对复杂的Java项目,其中类之前通常有四个或五个祖先Object.给定这样的类,例如D在这样的层次结构中:Object > A > B > C > D,我想知道它有效实现的所有接口.也就是说,我也有兴趣看到这些D实现,Serializable即使它只在类的声明中声明,B甚至D实际上没有实现接口指定的任何方法(当然,如果谈论Serializable).

我尝试过的这些信息的一些潜在来源包括:

  • 在Structure窗口中使用"Group by Defining Type" - 但不会显示空接口(=没有方法的接口),以及
  • "层次结构"窗口 - 但在查看类的层次结构时不包括接口.

有没有办法在IDEA中获取此信息而无需打开相关类的所有祖先类的文件?

java interface intellij-idea class-hierarchy superclass

10
推荐指数
1
解决办法
2966
查看次数