社区
模式及实现
帖子详情
C++的接口需要不同的参数,应该如何设计?
zju_kk
2017-02-27 05:49:33
抽象的说如下:
对于一个接口类A,存在若干派生类B,C,D等,接口类A里面有一个纯虚函数foo(T t)。由于每一个子类都有对应的参数类型T,分别为B_ini,C_ini,D_ini等,这样应该如何设计这个接口使得函数foo能够通过多态兼容所有的参数类型T?
...全文
1647
9
打赏
收藏
C++的接口需要不同的参数,应该如何设计?
抽象的说如下: 对于一个接口类A,存在若干派生类B,C,D等,接口类A里面有一个纯虚函数foo(T t)。由于每一个子类都有对应的参数类型T,分别为B_ini,C_ini,D_ini等,这样应该如何设计这个接口使得函数foo能够通过多态兼容所有的参数类型T?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
9 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
Acuity.
2017-11-21
打赏
举报
回复
A模板,虚函数foo,B、C、D继承A,重写foo函数。
dong364
2017-04-18
打赏
举报
回复
A用模板,B、C、D继承之
面向对象思考
2017-04-07
打赏
举报
回复
现在的信息量不足以解决问题,梦不能具体讲一下应用场景?
kerwin liu
2017-04-06
打赏
举报
回复
二楼的方法可行的,然后以不同的类型继承模板类
zilaishuichina
2017-03-21
打赏
举报
回复
让 B_ini,C_ini,D_ini 继承同一个基类 A_ini A提供接口 foo(A_ini& t) BCD分别实现 foo(A_ini& t)
幻夢之葉
2017-03-06
打赏
举报
回复
foo(void *v); ReturnType B::foo(void *v) { B_ini *p = (B_ini)v; }
清泉流
2017-02-28
打赏
举报
回复
将B_ini等也实现同一个接口比如说T_ini,在A接口函数使用foo(T_ini t),这样就是支持多个类型,又多态。可以在foo函数里面强转T_ini.
Pingo520
2017-02-28
打赏
举报
回复
把A定义成模版?
Template <type T> class A{ A(); ~A(); void foo(T t)=0; };
大概是这样吧
zju_kk
2017-02-27
打赏
举报
回复
感觉如果在接口里面指定了类型T就不合理了,这种结构应该如何设计?
C++
语言基础视频教程
C++
语言基础视频培训课程:本课与主讲者在大学开出的程序
设计
课程直接对接,准确把握知识点,注重教学视频与实践体系的结合,帮助初学者有效学习。本教程详细介绍
C++
语言中的封装、数据隐藏、继承、多态的实现等入门知识;主要包括类的声明、对象定义、构造函数和析构函数、运算符重载、继承和派生、多态性实现等。课程
需要
有C语言程序
设计
的基础(可以利用本人开出的《C语言与程序
设计
》系列课学习)。学习者能够通过实践的方式,学会利用
C++
语言解决问题,具备进一步学习利用
C++
开发应用程序的基础。
C++
中的
接口
设计
准则
转载自:
C++
中的
接口
设计
准则 1.
接口
设计
的重要性 软件
设计
就是让软件做你想做的事,软件
设计
一定
需要
接口
(interface)
设计
,最后用
C++
实现。今天讨论的可能是其中最重要的一条守则,把你的
接口
设计
得容易用对,不容易用错。 所谓的
接口
即你提供给用户使用你代码的途径。
C++
到处都充满了
接口
的概念,比如函数
接口
,类
接口
,模板
接口
。理想条件下,如果我们用错了
接口
,编译器会报错,而如果编译器没有报错,那么我们用的
接口
就是对的。 ##2.
接口
设计
准则准则 2.1 要把
接口
设计
得好用对、难用错
需要
预先考虑到
C++
逻辑
设计
——函数
设计
之函数
接口
说明
1.函数
接口
说明 在
C++
中指定函数
接口
时,一些必须要解决的问题有: (1) 运算符函数还是非运算符函数? (2) 自由运算符还是成员运算符? (3) 虚函数还是非虚函数? (4) 纯虚成员函数还是非纯虚成员函数? (5) 静态成员函数还是非静态成员函数? (6) 常量成员函数还是非常量成员函数? (7) public、protected 还是 private 成员函数? (8)...
c++
接口
的实现
C++
接口
(抽象类)
接口
描述了类的行为和功能,而不
需要
完成类的特定实现。
C++
接口
是使用抽象类来实现的,抽象类与数据抽象互不混淆,数据抽象是一个把实现细节与相关的数据分离开的概念。 如果类中至少有一个函数被声明为纯虚函数,则这个类就是抽象类。纯虚函数是通过在声明中使用 “= 0” 来指定的,如下所示: class Box { public: // 纯虚函数 v
工程实践:
C++
接口
设计
指北
一般来说,有两种方法
设计
接口
类。 **第一种是PIMP方法,即Pointer to Implementation**,在
接口
类成员中包含一个指向实现类的指针,这样可以最大限度的做到
接口
和实现分离的原则。 **第二种方法叫Object-Interface方法**,它的思想是采用
C++
的动态功能,实现类继承
接口
类,功能
接口
函数定义成虚函数。
模式及实现
5,530
社区成员
4,169
社区内容
发帖
与我相关
我的任务
模式及实现
C/C++ 模式及实现
复制链接
扫一扫
分享
社区描述
C/C++ 模式及实现
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章