C++类库对外屏蔽类中私有成员的方法

本文采用GCC编译环境,GCC版本为 "gcc version 3.4.5" 。

为了避免因为将类库中的私有成员开放给类的使用方而导致的软件逻辑外泄,因此需要将对外代码中的私有成员隐藏起来。

以下为测试代码。

开发端.h文件

#ifndef __LIB_TEST_H__
#define __LIB_TEST_H__

class Class3   
{ 
	public: 
		Class3();
		~Class3(); 
		int value(); 
		void value(int a); 
	private: 
		int m_a; 
}; 

#endif

开发端.cpp文件 

#include <stdio.h>
#include "libtest.h"

Class3::Class3()
{
	m_a=0;
}
Class3::~Class3()
{
	
}
int Class3::value()
{
	return m_a;
} 
void Class3::value(int a)
{
	m_a=a;
} 

 

编译生成静态库

gcc -c .\libtest.cpp

ar  cqs  libtest.a libtest.o

用户程序.cpp文件

#include <iostream.h>
#include "libtest.h"

int main(int argc, char *argv[])
{
	Class3 m_class;
	int inputvalue; 
	m_class.value(5);
	printf("%d\ninput number:\n",m_class.value());
	scanf("%d",&inputvalue);
	m_class.value(inputvalue);
	printf("\n%d\n",m_class.value());	
	return 0;
}

用户程序.h文件 

#ifndef __LIB_TEST_H__
#define __LIB_TEST_H__

class Class3   
{ 
	public: 
		Class3();
		~Class3(); 
		int value(); 
		void value(int a); 
}; 

#endif

 静态编译用户程序

g++ -o main_test main.cpp -L. -ltest

程序执行结果

D:\lib_test> .\main_test.exe
5
input number:
22

22
D:\qtapp\lib_test>

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值