c++ 虚函数直接实例化。。

这样实现可以吗?virtualvoidsetStart(constDate&start){this->start=start;}virtualvoidsetClose(c... 这样实现可以吗?
virtual void setStart (const Date &start){
this->start=start;
}
virtual void setClose (const Date &close){
this->close=close;
}
virtual void setTitle (string title){
this->title=title;
}
virtual void setBody (string body){
this->body=body;
}
virtual void setNumber (int number){
this->number=number;
}
virtual void setEmail (string email){
this->seller_email=email;
}
virtual void setQuantity (int quantity){
this->quantity=quantity;
}
还是说必须要用一个类去继承才能实现。
如果按我这样生产对象的时候应该不会报错吧
展开
 我来答
闪亮登场la
高粉答主

推荐于2016-02-06 · 关注我不会让你失望
知道大有可为答主
回答量:1.1万
采纳率:96%
帮助的人:1025万
展开全部
指针的类型是可以强行转来转去的。普通情况你转什么类型就调对应类型的同名函数。但是虚函数实现多态后,尽管可能你把指针转成父类的类型,但是因为创建的时候是子类的类型,它还是会调用子类的这个虚函数。
这样可以统一代码且正确运用子类的新特性。
也因为如此,如果父类虚函数不做实现而=0成为纯虚函数,那么父类就不可以实例化,这个没有实现的虚函数也永远不会调用。因为根据多态的动态联编,总是会调用实例化了的子类的该方法。指针强行转成父类也不会调用纯虚函数。
arongustc
科技发烧友

2012-10-28 · 智能家居/数码/手机/智能家电产品都懂点
知道大有可为答主
回答量:2.3万
采纳率:66%
帮助的人:5870万
展开全部
你这样做的“虚函数”的含义是什么?没有类,哪里来的this?
虚函数是类继承中特有的一种用法,你如果明白虚函数的意义,就不会这样定义你的虚函数了。
追问
有类,我没贴全。。。。。
也有private 成员
追答
你所谓的“直接实例化”和“这样”到底和你认为的“常规方法”有什么不同。如果在类内部,看不出奇怪的地方
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
神奇浪漫_M
2012-10-28
知道答主
回答量:80
采纳率:0%
帮助的人:24.5万
展开全部
是的。 要用继承才可以的 。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
262454893
推荐于2016-05-22 · TA获得超过131个赞
知道答主
回答量:169
采纳率:0%
帮助的人:115万
展开全部
经过试验室可以直接实现的。
#include<stdio.h>
class b
{
public:
virtual int test(int a)
{
return a;
}

};

int main()
{
class b m_b;

printf("[%d]\n",m_b.test(23));
return 0;
}
编译运行都OK.

含有纯虚函数的类是不可以派生对象的.
virtual <类型><函数名>(<参数表>)=0;
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式