关于面向对象的C ++ [英] About Object Oriented in C++
本文介绍了关于面向对象的C ++的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我想让我的B级混凝土派生自A级(抽象类)。
说A级有一个纯虚函数void的SayHello()= 0;而且B类是从A类派生的。是否有可能在不提供纯虚函数SayHello定义的情况下使B类具体化?
I want to make my class B concrete which is derived from class A (Abstract class).
say class A have a pure virtual function "void SayHello()=0;" and class B is deriving from class A. is it possible to make class B concrete without providing pure virtual function "SayHello" definition?
推荐答案
是的,实际上你不能在具体类中有任何纯虚函数,因此B
中的SayHello
的重写版本必须是<$ c的具体内容$ c> B 具体。
/ Fredrik
Yes, in fact you cannot have any pure virtual functions in a concrete class so the overridden version ofSayHello
inB
must be concrete forB
to be concrete.
/Fredrik
否。
所有抽象属性和方法必须在具体类中实现才能履行合同。
No.
All abstract properties and methods must be implemented in the concrete class in order to fulfil the contract.
class A { // abstract class
public:
virtual void SayHello() = 0; // abstract member function
};
class B { // concrete class
public:
void SayHello() { // concrete function
std::cout << "Hello, I am B." << std::endl;
}
};
这篇关于关于面向对象的C ++的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文