返回信息流如果想在一个类里面调用另外一个类的函数(公有),
这两个类分别定义在两个不同的文件里,
该怎么做呢?友类我也试过了,但是感觉并不对。
我的做法是,难道不对么?
file1.h
#include "file2.h"
class B
class A
{
friend class B;
pulic:
A();
functionA();
}
file2.h
#include "file1.h"
class B
{
pulic:
B();
functionB();
}
我想在functionB()中调用functionA()
报的错误是:
error: cannot call member function ***** without object
请教大侠帮忙,多谢~~
注:已经用#ifndef来避免互相包含的问题了
这是一条镜像帖。来源:北邮人论坛 / cpp / #8922同步于 2008/6/27
该镜像源已超过 30 天没有更新,可能在源站已被删除。
CPP机器人发帖
请教类之间访问的问题
jonnezhou
2008/6/27镜像同步13 回复
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
不需要友元类,是不是没建工程?
【 在 jonnezhou (当小虾遇到彩虹) 的大作中提到: 】
: 如果想在一个类里面调用另外一个类的函数(公有),
: 这两个类分别定义在两个不同的文件里,
: 该怎么做呢?友类我也试过了,但是感觉并不对。
: ...................
你的两个头文件互相包含了。。。
【 在 jonnezhou (当小虾遇到彩虹) 的大作中提到: 】
: 如果想在一个类里面调用另外一个类的函数(公有),
: 这两个类分别定义在两个不同的文件里,
: 该怎么做呢?友类我也试过了,但是感觉并不对。
: ...................
【 在 xth6228 的大作中提到: 】
: file1.h不需要包含file2.h
: 或用#ifndef解决互相包含问题。
熊,好好看书,好好学习,灌什么水啊!!!
【 在 jonnezhou (当小虾遇到彩虹) 的大作中提到: 】
:error: cannot call member function ***** without object
难道楼主这样调用:A:::functionA()?
如果要这样用的话functionA应该要加static吧
【 在 ttplayer (红颜弹指老 刹那芳华) 的大作中提到: 】
: :error: cannot call member function ***** without object
: 难道楼主这样调用:A:::functionA()?
是的
【 在 ttplayer 的大作中提到: 】
: :error: cannot call member function ***** without object
: 难道楼主这样调用:A:::functionA()?
用static 太麻烦了吧,他只能访问static 变量
【 在 Xer 的大作中提到: 】
: 如果要这样用的话functionA应该要加static吧