C ++:本地范围内的类属性

时间:2017-06-28 02:23:50

标签: c++ global-variables

要创建自己的队列类,我需要在此类的函数内声明一个类属性。

我想做的是:

当我调用函数[]时,程序会私有地为类创建一个新属性,以便在使用运算符class Car: def __init__ (self, ...): ... self.color = 'blue' 之后进行访问。通过这个我可以创建一个没有类型限制的队列,使用任何类的项目。

有可能吗?

修改

此队列只是一个使用示例。我真正的问题是:在python中,我可以这样做:

__init__

现在,颜色可以在类的任何地方使用(请记住,不需要插入类型来在python中声明变量。例如,颜色已在flowplayer(flowplayerObject, { hlsjs: { xhrSetup: function (xhr) { xhr.withCredentials = true; } }, swf: ------, swfHls: -------, clip: { cuepoints:[videoStartTime,videoEndTime], sources: [ {type: "application/x-mpegURL", src: -------l}, {type: "video/mp4", src: -------} ] } }).one("ready", function (e, api, video){ api.seek(parseInt(videoStartTime)); }).on("cuepoint", function (e, api, cuepoint) { if (cuepoint.index === 1) { api.pause(); }; }) ; 范围内声明,但是是类属性,而不是局部变量)。 我怎样才能在c ++中做这样的事情?

2 个答案:

答案 0 :(得分:0)

问题首先不明确。 据我所知,您希望创建一个具有异构元素的队列。您可以将此答案称为异构容器。

Heterogeneous containers in C++ 您还可以使用元组来保存异构数据。

答案 1 :(得分:0)

您正在寻找的概念是一个成员变量,它必须是类定义的一部分,因为C ++不是动态类型的。要使它只在类中可见,请将其设为私有。然后,您可以在构造函数初始化列表中设置其值。

class Car {
public:
  Car : color("blue") { }
private:
  std::string color;
};