2015-04-01 54 views
0

我将在假设中发言,因为我还没有测试任何东西。我甚至不知道从哪里开始。C++:结构,运算符“new”和const

所以我有几个结构,我用值初始化,我希望他们被传递给一个类。但是我希望类的每个实例都拥有自己的最初使用相同值定义的那些结构中的一个实例。

对于可视化的缘故:

struct Car{ 
int value, mileage, 

std::string model_name; 
std::string owner; 

double insurance_premium} 

Car Porsche, Toyota, Honda; 

我怎么会呢,还是甚至可以创建任何该等声明Car的新实例?你可以为结构做一个拷贝构造函数吗?

我有一个想法,可能会声明并初始化每个Car对象,然后将它们标记为const。那么可以拨打new。这只会使我的一切崩溃吗?我不知道。

请协助。

+0

默认复制和分配应该适用于此,即'Car newCar = Porsche;' – 2015-04-01 19:28:35

+0

您已经有了一个编译器定义的默认拷贝构造函数(和赋值运算符),它完全符合您的需求。 – molbdnilo 2015-04-01 19:39:59

+0

@AlejandroDíazM'kay,谢谢。 – neutralboolean 2015-04-01 19:43:41

回答

3

在C++中存在要publicclass默认为privateclass一个和除了struct默认一个struct其成员之间没有差别。你可以对另一个做其他事情。

+0

因此,我可以只定义一个拷贝构造函数,并创建相同结构的相同版本? – neutralboolean 2015-04-01 19:27:57

+0

你可以。你究竟想要做什么? – NathanOliver 2015-04-01 19:28:25

+0

@neutralboolean:C++编译器会自动创建一个拷贝构造函数 - 不需要自己定义一个。 – MikeMB 2015-04-01 19:36:20