C++ 类中,私有成员的信息,一般不能在类外直接访问,那应该如何修改private中的信息呢。为了实现对私有变量的读取和修改,在很多类中都提供了存取变量的set和get 函数,一般定义在public 函数下。在修改过程中应该注意一个原则:
类的封装原则:修改私有成员,一定要通过公有函数进行。
这里提供最简单的demo版本的set 和get 函数:
void setID(int id){
ID=id;
}
int getID( ){
return ID;
}
代码:
#include<iostream>
#include<cstring>
using namespace std;
class Account{
private:
int ID;
char Name[20];
float balance;
public:
void Initinal(int ID,char Name[],float balance );
int withdraw(float);
void deposites(float m);
void showMe(){
cout<<ID<<" "<<Name<<" "<<balance<<endl;
}
void setID(int id){
ID=id;
}
int getID( ){
cout<<ID;
return ID;
}
};
void Account::Initinal(int ID,char Name[], float balance){
this->ID=ID;
strcpy(this->Name,Name);
this->balance=balance;
}
int Account::withdraw(float m){
if (balance>m ){
balance=balance-m;
return 1;
}
else{
return -1;
}
}
void Account::deposites(float m){
balance=balance+m;
}
int main(){
Account my,other;
char name[]="Jack";
my.Initinal(10112,name,600.0);
//cout<<my.name; 错误表述
//other.ID=90920 错误表述
//
my.withdraw(500.0);
my.showMe();
my.setID(21);
my.getID();
my.showMe();
}