下载此文档

静态成员和友元.ppt


文档分类:IT计算机 | 页数:约17页 举报非法文档有奖
1/17
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/17 下载此文档
文档列表 文档介绍
静态成员
静态成员的定义、初始化、调用
友元的作用和定义
第三章综合练****br/>主要内容
为什么需要静态成员
A1037528
id
123456
pwd

bal
10
min
John
A2180150
id
666666
pwd

bal
10
min
Cane
A5280175
id
654321
pwd

bal
10
min
Tom
每个对象中min的值都等于10,在内存中有多
个副本,造成空间浪费,而且不易管理
Account
10
min
A1037528
id
123456
pwd

bal
John
A2180150
id
666666
pwd

bal
Cane
A5280175
id
654321
pwd

bal
Tom
min不再占用多个对象的存储空间,而是让各对象共享数据成员min的值,则内存中min只有一个副本
静态成员是解决同一个类的不同对象之间的数据和函数共享问题。
静态成员是类的所有对象共享的成员,而不是某个对象的成员,它在对象中不占存储空间,是属于整个类的成员。
静态成员分为静态数据成员和静态成员函数。
格式:
static <静态成员的定义>;
什么是静态成员
Account类静态成员的定义:
class Account
{
};
static void deposit(<参数列表>);
static void withdraw(<参数列表>);
void display();
char id[8];
char pwd[6];
double balance;
public:
private:
static double min_balance;
为什么要进行初始化
静态数据成员属于静态变量,必须对其进行初始化后才能使用。
何时进行初始化
静态变量不应该占用函数的空间,且静态数据成员不能占用对象的存储空间,因此一般在类的实现部分完成静态数据成员的初始化。
静态数据成员初始化
格式:
#include <>
#include “”
//
void Account::deposit(……)
{
<函数体实现>
}
//实现“存钱”成员函数
double Account::min_balance = 10; //注意不要写错!
<类型> <类名>::<静态数据成员>=<值>;
静态成员函数访问数据成员
void Account::deposit(double amount)
{
balance += amount;
cout<<“Balance in your account is :”<<balance<<endl;
}
//以前我们实现的“存钱”成员函数
void Account::deposit(double amount, Account a)
{
+= amount;
cout<<“Balance in your account is :”<<<<endl;
}
//现在实现的静态“存钱”成员函数
{
-= amount;
cout<<“Balance in your account is :”<<<<endl;
}
if (amount >= min_balance)
{
cout<<“There is not enough money in your account!<<endl;
exit(1);
}
//实现静态“取钱”成员函数
void Account::withdraw(double amount, Account a)
总结:静态成员函数可以直接访问该类的静态数据成员和成员函数,但是要在静态成员函数中使用非静态成员时,要通过对象来调用。

静态成员和友元 来自淘豆网www.taodocs.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数17
  • 收藏数0 收藏
  • 顶次数0
  • 上传人文库旗舰店
  • 文件大小108 KB
  • 时间2018-05-13