先日をちょっと工夫。

[TestModule1.cfc]

<cfcomponent output="false">

	<cffunction name="add" access="public" output="false" returntype="numeric">
		<cfargument name="p1" type="numeric" required="true" />
		<cfargument name="p2" type="numeric" required="true" />
		<cfreturn add2(ARGUMENTS.p1, ARGUMENTS.p2) />
	</cffunction>

	<cffunction name="add2" access="private" output="false" returntype="numeric">
		<cfargument name="p1" type="numeric" required="true" />
		<cfargument name="p2" type="numeric" required="true" />
		<cfreturn ARGUMENTS.p1 + ARGUMENTS.p2 />
	</cffunction>

</cfcomponent>

[TestModule2.cfc]

<cfcomponent output="false">

</cfcomponent>

で呼び元。

<html>
	<cfoutput>
		<head>
			<title>Test of cffunction</title>
		</head>
		<body>
			<cfset VARIABLES.module1=CreateObject("component", "examples.functest2.TestModule1") />
			<cfset VARIABLES.a=module1.add(1, 2) />
			Result@Module1=[#VARIABLES.a#]
			<br />
			<cfset VARIABLES.module2=CreateObject("component", "examples.functest2.TestModule2") />
			<cfset VARIABLES.module2.add=VARIABLES.module1.add />
			<cfset VARIABLES.b=module2.add(8, 10) />
			Result@Module2=[#VARIABLES.b#]
			<hr />
			<cfdump var="#VARIABLES.module1#" />
			<cfdump var="#VARIABLES.module2#" />
		</body>
	</cfoutput>
</html>

結果は、「変数 ADD2 が未定義です。」ってしかられる。