c++对象数组和this指针
2014-05-13 17:38
393 查看
当程序需要创建同一个类的多个对象时,可以创建对象数组,声明对象数组的方法和声明标准类型数组相同,且数组用法也相同。
声明:Stock mystuff[4];
初试化:Stock stocks[4]=
{
Stock("WANG",1,2),
Stock("zhang",2,3),
Stock();
};
其中,第三个使用的是默认的构造函数,1和2使用的是已定义的构造函数,由于只声明的前三个,所以第四个也是默认的构造函数。
在类中定义的名称(如类成员函数名和类成员名)的作用域都为整个类,作用域为整个类的名称只是在该类中是已知的,在类外是不可知的。因此,可以在不同的类中使用相同的类成员名而不会引起冲突。类的作用域特性导致不能从外部直接访问类的成员,共有成员函数也是如此。要调用公有成员函数,必须通过对象,使用作用域解析运算符:
:: . 和->三种。
2:可以创建一个作用域为类的符号常量,这样可以供对象数组使用,有两种方法:
class Bakery
{
private:
enum{Months=12};
//static const int months=12;
double costs[Months];
}
这两种方法都行,但是以前常用的方法const int Months =12;是不行的,因为声明只是描述了对象的形式,并没有创建对象,因此,在创建对象前,并没有用于存储值的空间。
声明:Stock mystuff[4];
初试化:Stock stocks[4]=
{
Stock("WANG",1,2),
Stock("zhang",2,3),
Stock();
};
其中,第三个使用的是默认的构造函数,1和2使用的是已定义的构造函数,由于只声明的前三个,所以第四个也是默认的构造函数。
在类中定义的名称(如类成员函数名和类成员名)的作用域都为整个类,作用域为整个类的名称只是在该类中是已知的,在类外是不可知的。因此,可以在不同的类中使用相同的类成员名而不会引起冲突。类的作用域特性导致不能从外部直接访问类的成员,共有成员函数也是如此。要调用公有成员函数,必须通过对象,使用作用域解析运算符:
:: . 和->三种。
2:可以创建一个作用域为类的符号常量,这样可以供对象数组使用,有两种方法:
class Bakery
{
private:
enum{Months=12};
//static const int months=12;
double costs[Months];
}
这两种方法都行,但是以前常用的方法const int Months =12;是不行的,因为声明只是描述了对象的形式,并没有创建对象,因此,在创建对象前,并没有用于存储值的空间。
相关文章推荐
- 循环链表C语言实现
- Altova XMLSpy 生成C++工程实例
- C++引用
- C++类
- C\C++小知识汇总
- 24点 C/C++代码
- EFFECTIV C++
- C++。memory leak检查办法。一个当内存分配后未回收(或导致各种问题)的检查办法
- C++ shared memory leak, how to clear shared memory?
- c++实现用欧几里得算法求两个整数的最大公约数
- Effective C++之 拒绝编译器自动生成函数
- c++实现对分查找
- 设计模式之装饰模式 c++实现和详细分析
- C/C++ 指针 <一>
- c/c++全局变量与局部变量
- C++中std::tr1::function和bind 组件的使用
- C++第12周(春)项目 4 - 日期时间类
- c语言---数组
- c语言---函数
- c语言---循环结构