私有数据成员不用友元也可以从外部访问?
#include <string>
#include <iostream>
using namespace std;
class sales_item
{
public:
sales_item(){}
sales_item(std::string s, double price): isbn(s), price(price){}
~sales_item(){}
sales_item& operator+=(const sales_item&);
protected:
private:
std::string isbn;
double price;
};
sales_item& sales_item::operator +=(const sales_item &item)
{
price+=item.price;//item的price数据成员是私有的,为何编译不报错,而且运行很正常???
return *this;
}
int main(int argc, char *argv[])
{
sales_item item1("ABCD!!", 12.5), item2("EFGH", 22.5);
item1+=item2;//完全正常,不报错,而且price的值也相加了。
return 0;
}
#include <iostream>
using namespace std;
class sales_item
{
public:
sales_item(){}
sales_item(std::string s, double price): isbn(s), price(price){}
~sales_item(){}
sales_item& operator+=(const sales_item&);
protected:
private:
std::string isbn;
double price;
};
sales_item& sales_item::operator +=(const sales_item &item)
{
price+=item.price;//item的price数据成员是私有的,为何编译不报错,而且运行很正常???
return *this;
}
int main(int argc, char *argv[])
{
sales_item item1("ABCD!!", 12.5), item2("EFGH", 22.5);
item1+=item2;//完全正常,不报错,而且price的值也相加了。
return 0;
}
...全文
相关推荐
YONYOU NC 6.5安装指南
在介绍YONYOU NC 6.5的安装指南之前,需要了解一些基础知识。YONYOU NC是用友网络科技股份有限公司开发的一款企业级的网络财务管理系统。
编写Student类,类中包含学生姓名,学号等私有数据成员。使用JAVA反射机制修改一个学生对象的私有数据成员
编写Student类,类中包含学生姓名,学号等私有数据成员。 使用JAVA反射机制修改一个学生对象的私有数据成员(不允许调用setters)
c++访问私有private成员变量的常用方法
**利用指针访问私有数据成员**: 可以创建类对象的指针,并通过指针调用成员函数来访问私有成员。
易语言从外部取类成员
如果要从外部访问私有成员,可能需要提供公共的访问接口或使用特殊技巧。
用友v3.0 Yonyou U9 V3.0 新增功能操作手册-
《用友v3.0 Yonyou U9 V3.0 新增功能操作手册》是一本针对用友软件Yonyou U9 V3.0版本新增功能的详细操作指南。


