s*******0 发帖数: 3461 | 1 看到一个语句
A::B:c(x)
前面的A::B了解什么意思 定义类A下面的B函数
但是后面的:c(x)是何意呢
看书之后的理解是貌似定义类a里面的变量的
不是很理解 感谢了 |
s*******0 发帖数: 3461 | |
T****S 发帖数: 105 | 3 你得贴全一点的代码阿.
估计是B的构造函数前面的吧?那样就是初始化变量c的值为x.
看到一个语句
A::B:c(x)
前面的A::B了解什么意思 定义类A下面的B函数
但是后面的:c(x)是何意呢
看书之后的理解是貌似定义类a里面的变量的
不是很理解 感谢了
【在 s*******0 的大作中提到】 : 看到一个语句 : A::B:c(x) : 前面的A::B了解什么意思 定义类A下面的B函数 : 但是后面的:c(x)是何意呢 : 看书之后的理解是貌似定义类a里面的变量的 : 不是很理解 感谢了
|
p********6 发帖数: 1802 | 4 A是namespace?
【在 s*******0 的大作中提到】 : 看到一个语句 : A::B:c(x) : 前面的A::B了解什么意思 定义类A下面的B函数 : 但是后面的:c(x)是何意呢 : 看书之后的理解是貌似定义类a里面的变量的 : 不是很理解 感谢了
|
l*********s 发帖数: 5409 | |
C***U 发帖数: 2406 | 6 举个例子
够早了一个类A 这个类A 里面有一个变量int a
然后我构造了A的constructor 初始化a
方法1
class A{
int a;
public:
A(int x) { a = x ;}
};
方法2
class A{
int a;
public
A(int x):a(x) {};
};
第二个里面用了冒号那个语法
就可以省略第一种方法里面赋值的语句了。
【在 s*******0 的大作中提到】 : 看到一个语句 : A::B:c(x) : 前面的A::B了解什么意思 定义类A下面的B函数 : 但是后面的:c(x)是何意呢 : 看书之后的理解是貌似定义类a里面的变量的 : 不是很理解 感谢了
|
s*******0 发帖数: 3461 | 7 谢了 caiwu 兄弟 说的挺清楚
我也一直觉得是赋值的 回去 再体会下 |
f********n 发帖数: 1163 | 8 Constructor Initializer List
when the derived class constructor doesn't have permission to access private
data elements, it can be useful for initialization. |
z****g 发帖数: 1978 | 9 ...为什么不是internal struct...我就喜欢写类似
class A
{
public:
struct B
{
int c(x);
}
}
之类.... |
i****k 发帖数: 668 | 10 这个句法不仅仅是省略,
如果a声明为const int a,
那么只能采用第二种格式来在构造的时候给a赋值,赋完值以后就再也不能改了。
这时第一种办法会报错
【在 C***U 的大作中提到】 : 举个例子 : 够早了一个类A 这个类A 里面有一个变量int a : 然后我构造了A的constructor 初始化a : 方法1 : class A{ : int a; : public: : A(int x) { a = x ;} : }; : 方法2
|
J*********r 发帖数: 5921 | 11 如果c(x)是constructor initialization list,那么B就是constructor,B和A的名称
应该相同吧?另外,B作为函数,它的()部分在这里可以省略?
【在 s*******0 的大作中提到】 : 看到一个语句 : A::B:c(x) : 前面的A::B了解什么意思 定义类A下面的B函数 : 但是后面的:c(x)是何意呢 : 看书之后的理解是貌似定义类a里面的变量的 : 不是很理解 感谢了
|
S*******s 发帖数: 13043 | 12 C could be member variable or base class
A could be name space
constructor without parameters is called default constructor
why not you find a C++ text book and read?
【在 J*********r 的大作中提到】 : 如果c(x)是constructor initialization list,那么B就是constructor,B和A的名称 : 应该相同吧?另外,B作为函数,它的()部分在这里可以省略?
|