在C++中,是否可以更改类的默认值,以便所有由该类构成的未来对象都具有指定的值?在运行时可以更改C++类的默认值吗?
我想在运行时创建一个用户定义的类,该类应该与同一父类的其他子类几乎完全相同,但我正在努力通过两种方式使用相同的格式构造函数。我认为将正确的信息正确地分配给每个新对象的唯一方法是,在创建时始终以不同的方式处理类类型(始终将用户输入放入构造函数中),或者将类的对象行为更改为默认为定义的输入。
编辑:为了更好地解释这个问题,并解决了XY问题可能这里的情景:
总规划: 我想有用户首先通过提供姓名和号码定义自定义形状定义它的线条。用户然后可以将三角形,正方形和自定义形状添加到他们的“购物车”。每个自定义形状与它们在开始时指定的形状相同,用户在程序期间不会更改它。程序然后可以返回一般信息,例如存在的特定类型的成员的数量或者购物车中的总行数。
有一个父类:
类形状
构件numLines,名称;
三个类形状的小孩:
类三角
覆盖numLines = 3,名字= “三角形”;
...
类userShape
覆盖numline = ????,名字= ????;
当我为与“形状”对象交互的购物车创建方法时,我希望能够在整个电路板上创建相同的代码以创建其他对象,而不需要以不同的方式处理userShape的构造函数。
从我收到的答案来看,静态类型似乎最适合用户设置的默认值,但我完全开放以更好的方式来实现这样的事情。
“我想在C++中创建一个在运行时由用户定义的类”?怎么样? – AndyG
默认值不能改变,但你说的是不同的......你可以给你一个关于你如何使用它的代码示例吗? – lorro
听起来像你想利用一些静态成员。 – Ron