私有继承与组合。
我有点困惑,什么时候使用每一个。由于私有继承密封,在某种程度上,继承链,给定:
class A
{
private:
int z;
protected:
int y;
public:
int x;
};
class B : private A
{
/* B's data members and methods */
/* B has access only to A's public and protected */
};
class C : public B
{
/* can access no field
我教C++,我需要一个好的、简单的、日常的例子来说明您什么时候使用这个:
class A {...};
class B : public A {...};
class C : public A {...};
class D : public B, public C {...};
这里D继承A两次,因为不涉及虚拟继承。
我需要一个简单易懂的例子,说明你什么时候可能需要这个结构。我甚至不需要代码;我只需要能给我的学生举个例子,他们就会惊呼:“是的,我能看出那是有用的!”
这里有人对什么时候使用继承和什么时候使用标识符有意见吗?
继承示例:
class Animal
{
public int Name { get; set; }
}
class Dog : Animal {}
class Cat : Animal {}
标识符示例:
class Animal
{
public int Name { get; set; }
public AnimalType { get; set; }
}
在什么情况下,我应该选择哪种解决方案,它们的优缺点是什么?
/Lina
我有A班和B班。
class A{
public:
foo();
};
class B : public A{
public:
int x;
};
假设在测试file.How中有一个来自B类的对象,我应该调用foo函数吗?
object.foo(); // or
object.A::foo();
其他问题:我们什么时候调用这样的函数?如果我做多重继承怎么办?
我是C++新手,我有多年的面向对象语言的经验,比如C/C#/Objective-C。现在,我正在学习C++。
我看到了这段C++代码:
class World : public State
{
};
似乎类World公开继承了类State。公开子类化?这很难理解。
这个特性的概念是什么?这在什么时候是有用的或者是必需的呢?
我知道虚拟继承的用法:
class A { public: void Foo() {} };
class B : public virtual A {};
class C : public virtual A {};
class D : public B, public C {};
我想知道的是
class X { public: void Bar() {} };
class Y : public virtual X {};
和
class X { public: void Bar() {} };
class Y : public X {};
主要是从实现的角度。我的意思是什么时候我不想使用虚
什么时候是理想的:
class USER {
// stuff about user
}
class PROFILE extends USER {
// stuff about user's profile
}
什么时候是最理想的:
class USER {
$id;
$profile;
function __construct($id) {
$this->id = $id;
$this->profile = new PROFILE($id);
// set profile vari
有人能提供一些关于什么时候通过 (例如Seller < DelegateClass(Person))使用委托以及什么时候在ruby中使用类继承(例如Seller < Person)的洞察力吗?
class Seller < DelegateClass(Person)
def sales
...
end
end
class Seller < Person
def sales
...
end
end
当我查看Github上的Rails源代码时,我发现了相当多的。