Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何避免代码重复和使用常量成员和继承浪费内存?

如何避免代码重复和使用常量成员和继承浪费内存?
EN

Stack Overflow用户
提问于 2011-11-08 17:44:39
回答 2查看 194关注 0票数 2

我正在为shapes实现一些类。有没有办法避免代码重复,同时又浪费内存?

基本上,我希望基类中的变量是一个常量,并且每个派生类(如静态成员)只有一个副本,但每个派生类具有不同的值。

例如,我想定义作用于派生类的惯性张量的函数;对于每个形状,惯性张量是一个常量,所以我不希望每个实例都有一个相同常量的副本。

然而,不是声明相同的变量并为每个派生类定义相同的函数,我想在基类中声明一个变量,并在基类中也有一个泛型函数,比如将惯性张量从世界坐标更改为局部坐标,反之亦然。

有没有办法做到这一点?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-11-08 17:50:03

在基类中使用纯虚函数,并在每个派生类中重写它以返回适当的值。这样,您只有一个常量副本,并且每个派生类都正确地定义了它。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
class Base
{
public:
    virtual int get_constant0() const = 0;
};

class Derived0 : public Base
{
public:
    virtual int get_constant0() const { return 5; }
};

class Derived1 : public Base
{
public:
    virtual int get_constant0() const { return 42; }
};
票数 8
EN

Stack Overflow用户

发布于 2011-11-08 18:09:01

与您的要求无关,但与我认为您正在尝试实现的目标相关;我将开始查看现有的实现,看看其他库如何实现刚体类型之间的集成,如果只是为了了解而不是要做什么。

ODE library

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8054793

复制
相关文章
Spring-引用Bean的属性值
将应用系统的配置信息存放在配置文件中并非总是最合适的,如果应用以集群的方式部署,或者希望在运行期动态调整引用的某些配置,这时,将配置信息放到数据库中不但方便集中管理,而且可以通过应用系统的管理界面动态维护,有效增强应用系统的可维护性。
小小工匠
2021/08/16
7330
Spring Boot引导过程
引导Spring Boot应用程序的一种方法是使用Spring Initializer。为此需要访问Spring Initializer 网页 www.start.spring.io[1] 并选择 Build,Spring Boot版本和平台。此外还需要提供组,工件和所需的依赖项来运行应用程序。
黑洞代码
2021/07/14
9070
Spring Boot引导过程
Spring框架中 Bean对象属性值的注入
注意:如果一个Bean对象同时存在set注入和构造注入两种方法,Spring在为Bean对象属性赋值时,会先使用set注入方式为属性赋值,再使用构造注入为Bean对象属性赋值。
运维搬砖
2018/12/26
4.1K0
transition属性值
transition-property是用来指定当元素其中一个属性改变时执行transition效果,其主要有以下几个值:none(没有属性改变);all(所有属性改变)这个也是其默认值;indent(元素属性名)。当其值为none时,transition马上停止执行,当指定为all时,则元素产生任何属性值变化时都将执行transition效果,ident是可以指定元素的某一个属性值。其对应的类型如下:
全栈程序员站长
2022/11/17
1.6K0
transition属性值
PHP-私有属性继承和重写
1.3 面向对象三大特性 封装 继承 多态 1.4 私有属性继承和重写 私有属性可以继承但不能重写。 <?php class A { private $name='PHP'; public fun
cwl_java
2022/11/30
6280
反射获取属性字段及属性值
上篇文章我们可以通过自己的类加载器加载指定类了,在获取指定类后我们需要拿到类属性名称及类属性的值。 获取属性字段: public static List<Field> getFields(String
春哥大魔王
2018/07/23
4.4K0
反射获取属性字段及属性值
类的继承 方法和属性的重写
当子类和父类进行同一件事进行不同的操作需要重新写方法(例如电脑鼠标点击打开图片,平板电脑触摸打开图片)
用户2965768
2019/01/28
1.5K0
【spring】属性注入
spring的属性注入是bean管理中的一个非常重要的内容,它可以通过有参数的构造函数注入属性,也可以通过set方法注入属性。包括基本类型的属性注入、对象类型的属性注入和复杂类型的属性注入。
全栈程序员站长
2022/08/10
3250
python @property 设置只读属性 重写 getter setter 方法
@property广泛应用在类的定义中,可以让调用者写出简短的代码,就可以重写属性的 get 和 set 方法,同时保证对参数进行必要的检查,这样,程序运行时就减少了出错的可能性。
onety码生
2018/11/21
2.6K0
jQuery 文本属性值
jQuery的文本属性值常见操作有三种:html() / text() / val() ; 分别对应JS中的 innerHTML 、innerText 和 value 属性。
星辰_大海
2020/10/09
2.5K0
jQuery 文本属性值
jQuery 文本属性值
​ jQuery的文本属性值常见操作有三种:html() / text() / val() ; 分别对应JS中的 innerHTML 、innerText 和 value 属性。
梨涡浅笑
2022/05/08
3.1K0
jQuery 文本属性值
jQuery的文本属性值常见操作有三种:html() / text() / val() ; 分别对应JS中的 innerHTML 、innerText 和 value 属性。
清出于兰
2020/10/26
1.8K0
Flex反射得到属性和属性的值
       今天要写一个生成json的方法,目的是将VO对象中的所有公共属性和值转换成一个json对象,这个类中20多个属性,手动拼的话,是个体力活,并且有其它的对象也要转成json,还要手动拼,脑袋里最先想到的就是反射。
高爽
2022/05/07
1.7K0
@JsonSerialize 使用:注解方式 实现条件判断属性值、条件修改属性值
预期效果为:当查到属性值为 1 时,就给序列化后的 json 中性别字段赋值为 “男” , 0 则 ”女“ 。
微风-- 轻许--
2022/04/13
3K0
@JsonSerialize 使用:注解方式 实现条件判断属性值、条件修改属性值
input的属性值_input标签常用的属性
大家好,又见面了,我是你们的朋友全栈君。 <input name=”txtPwd” type=”password” maxlength=”20″ id=”txtPwd” class=”lg_input” οnpaste=”return false;” οncοntextmenu=”return false;” οncοpy=”return false;” oncut=”return false;”>
全栈程序员站长
2022/09/21
4.4K0
Java反射,通过对象获取属性及属性值
在工作中,我们有时候会有很多重复的东西,唯一不一样的,可能就是对象不同,取字段什么的都是一样的。这个时候,就要不断的复制,然后修改对象。太狗屎了。那么有没有不用到处复制的呢?可以使用到Java反射来实现。
凯哥Java
2022/12/16
4.4K0
Java反射,通过对象获取属性及属性值
display属性值有哪些_验证控件display属性
<html> <head> <meta charset=”utf-8″> <title>W3Cschool教程(w3cschool.cn)</title> <style> #main { width: 70px; height: 300px; border: 1px solid #c3c3c3; display: -webkit-flex; display: flex; /* 设置flex布局*/ -webkit-flex-wrap: wrap; flex-wrap: wrap;/*换行*/ -webkit-align-content: center; align-content: center; /*垂直对齐*/ }
全栈程序员站长
2022/11/01
2.3K0
display属性值有哪些_验证控件display属性
java 反射机制--根据属性名获取属性值
1.考虑安全访问范围内的属性,没有权限访问到的属性不读取 [java] view plain copy /**      * 根据属性名获取属性值      *       * @param fieldName      * @param object      * @return      */   private String getFieldValueByFieldName(String fieldName, Object object) {   try {              Fiel
庞小明
2018/07/06
5.3K0
读取重写spring读取配置文件
[Java]代码     package com.templet.spring; import java.io.BufferedReader; import java.io.ByteArrayInputStream; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.util.Properties; import org.springframework
用户8671053
2021/09/26
1.3K0
点击加载更多

相似问题

Spring引导:重写属性值读取器

17

无法在spring引导中重写属性

21

spring引导停靠程序重写属性不工作。

11

从命令行重写Spring引导属性文件

11

使用外部属性重写spring引导application.properties

10
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文