统用操作符通我针访问

程序清单12.3中,执行完main()时,将调用headline[0]和headline[1]的析构函数;执行完callme1 ()
时,将调用grub的析构函数。
● 如果对象是静态变量(外部、静态、静态外部或来白名称空间),则在程序结束时将调用对象的析
构函数。这就是程序清单12.3中sports对象所发生的情况。
● 如果对象是用new创建的,则仅当您显式使用delete删除对象时,其析构函数才会被调用。

2. 指针和对象小结
使用对象指针时,需要注意几点(参见图12.5):

产明招向类划象的指针

将指针初始化为已有的对象

String * glamour;
String object

String * first = Bsayings(@];

使用和默认的类构造函数
对报针进打初始化:

String * gleep . new String:

flliper lOString(const char+) String . glop = how stringi'my ny my'li
类科迎通数对带計进行初始化:

*/UnHiString(oonst stringk) String * favprite . new String(sayings|cholcel);
宽按说函数对指针进行初始化:

String object

统用操作符通我针访问
类方法:

objec

使用*解除引用操作符从指针
我神对電:

f(sayings[i].length() < shortest->length(1)

pointer to object
objec

f(sayange|il < *tirst)
object ' pointer to object

图 12.5 指针和对象

● 使用常规表示法来声明指向对象的指针:
String * glamour:
● 可以将指针初始化为指向已有的对象:
String * first = &sayings[0];
● 可以使用new来初始化指针,这将创建一个新的对象(有关使用new初始化指针的细节,请参见
图 12.6):
String * favorite - new String (sayings[choice])
● 对类使用 new将调用相应的类构造函数来初始化新创建的对象:
// invokes default constructor
String * gleep = new String:

// invokes the String (const char *) constructor
String . glop = new String ("my my my") :

// invokes the String (const String 6) constructor
String * favorite = new String (sayings[choice]) :
● 可以使用->操作符通过指针访问类方法:
if (sayings[i]. length()< shortest->length(})

你可能感兴趣的:(c++)