C++实现不同文件的A、B类及main函数互相调用实例化

初学C++,在类实例化和调用的过程中遇到了不少麻烦,总结一下。

多个类文件互相实例化调用

预想的效果是,在test.cpp文件的main函数里面可以分别实例化A类和B类,并调用A/B类里面的函数,且在A和B类里面可以互相实例化及调用B和A类的函数。
分析上述的需求,在C/C++中如果需要调用其他文件的方法及在类里面实例化对方,那么就需要引入头文件的使用,每一个文件都有自己的.h文件,在里面声明函数或者定义的参数字段。
最终文件需要有A类,A.cpp及头文件A.h;B类,B.cpp及头文件B.h,主函数文件test.cpp。
通过引入.h头文件,在头文件里面声明类及类里面的函数,来实现效果。
下面就是具体实现代码。

在头文件里面定义class A

A.h

#ifndef _A_H_
#define _A_H_
 /*定义A类*/
class A
{
public:
	A();//无参构造函数
	A(string name);//有参构造函数
	~A();//析构函数
	string name;//字段
	void a_say(string str);
	void ab_say(string str);
private:

};

#endif/*include _A_H_*/

定义A.cpp类文件


#include "A.h"
#include "B.h"

A::A()
{
	cout <<"A 初始化"<<endl;
	A::name="A";
}
A::A(string name)
{
	cout<<"重载 "<<" A 初始化"<<endl;
	A::name=name;
}

A::~A()
{
}

void A::a_say(string str)
{
	cout<<A::name<<" say "<<str<<endl;
}
void A::ab_say(string str)
{
	B b;//在A中实例化B
	b.b_say(str);

}

定义B类

B.h


#ifndef _B_H_
#define _B_H_

/*定义B类*/
class B
{
public:
	B();
	~B();
	string name;
	void b_say(string str);
	void ba_say(string str);
private:

};

#endif/*include B.h */

B.cpp


#include "B.h"
#include "A.h"

B::B()
{
	cout<<"B 初始化 "<<endl;
	B::name="B";
}

B::~B()
{
}

void B::b_say(string str){

	cout<<B::name<<" say "<<str<<endl;
}
void B::ba_say(string str)
{
	A a;//在B中实例化A
	a.a_say(str);

}

定义main函数

#include "A.h"
#include "B.h"
 
int _tmain(int argc, _TCHAR* argv[])
{
	A a;	 
	a.a_say("a hello");
	a.ab_say("a hello ");
	A *la=new A("李四");//指针调用,重载	 
	la->a_say("a hello");
	//实例化B
	B b;
	b.b_say("b hello");
	b.ba_say("b hello");
	getchar();
	return 0;
}

实际运行效果如下

A 初始化
A say a hello
B 初始化
B say a hello
重载  A 初始化
李四 say a hello
B 初始化
B say b hello
A 初始化
A say b hello
  • 6
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1. 请创建一个抽象DataStructure,该包括下面的成员变量和成员函数: 1) 一个成员变量len,表示里面的元素个数最大值 2) 构造函数DataStructure(int l),将len初始化为0 3) 虚析构函数~DataStructure() 4) 纯虚函数Output(),输出DataStructure的数据 5) 纯虚函数Size(),返回DataStructure的元素个数 2. 请创建DataStructure的一个派生MyString,该包括下面的成员变量和成员函数: 1) 一个成员变量char* data,表示里面的数据 2) 构造函数MyString(int max_size),将MyString初始化为空串,最大元素个数为max_size 3) 析构函数~MyString(),释放相应的数据 4) Input()函数,往MyString输入数据 5) 重载operator+=()函数实现两个字符串的连接 6) 重定义Output()和Size()函数 3. 请创建DataStructure的一个派生MyStack,该包括下面的成员变量和成员函数: 1) 一个成员变量int* data,用于里面的数据 2) 一个成员变量int top,表示最上面的元素下标 3) 构造函数MyStack(int max_size),将MyStack初始化为空栈,最大元素个数为max_size 4) 析构函数~MyStack(),释放相应的数据 5) Push_back(int e)函数,往栈里面压入一个数据e 6) 重定义Output()和Size()函数 4. 请编写main函数,测试上面程序的正确性 1) 创建两个MyString的对象str1和str2,分别调用Input函数输入str1和str2,然后分别调用operator+=函数将str2连接到str1的末尾 2) 创建一个MyStack的对象stack,调用Push_back函数输入往stack输入m(m < max_size)个数据 3) 创建一个长度为3的DataStructure*型的数组,将其3个元素分别指向str1, str2, stack,然后编写for循环调用Size()和Output()函数输出每个元素的大小和内容。 5. 输入输出样例: 1) 输入样例 A promising techni que for checking reachability 4 12 23 34 45 2) 输出样例 47 A promising technique for checking reachability 29 que for checking reachability 4 12 23 34 45
管理系统,作为一种高效的企业运营管理工具,旨在通过集成化、系统化的手段,对组织内部的各资源进行规划、协调、控制和优化,以实现企业战略目标,提升运营效率,增强核心竞争力。以下是对管理系统的详细介绍: 一、定义与构成 管理系统是指由硬件设备、软件应用、数据资源、人员以及相关管理制度共同构建的,用于处理、监控、分析和决策各业务活动的综合信息系统。它通常包括以下几个核心组成部分: 数据采集模块:负责从各业务环节实时、准确地收集信息,形成企业的基础数据资源。 数据分析模块:运用统计学、人工智能等技术对数据进行深度挖掘和智能分析,提供决策支持。 业务流程管理模块:设计、执行、监控和优化业务流程,确保各项任务按照预定规则高效运转。 决策支持模块:基于数据分析结果,为管理者提供直观的可视化报告,辅助其进行科学决策。 用户界面与交互模块:提供友好的人机交互界面,方便用户操作使用。 二、主要型与功能 管理系统根据所针对的管理对象和领域,可分为多种型,如: 人力资源管理系统(HRM):涵盖招聘、培训、绩效考核、薪酬福利等人力资源全流程管理,提升人才效能。 客户关系管理系统(CRM):集管理客户信息,优化销售、营销和服务流程,提升客户满意度和忠诚度。 供应链管理系统(SCM):整合供应商、制造商、分销商、零售商等供应链各环节,实现物流、资金流、信息流的协同运作。 企业资源计划系统(ERP):对企业内部财务、生产、采购、库存、销售等各项资源进行全面集成管理,提高整体运营效率。 项目管理系统(PM):对项目全生命周期进行规划、跟踪、控制,确保项目按时、按质、按预算完成。 三、价值与优势 提高效率:自动化工作流程、标准化业务操作,显著减少人工干预,提升工作效率。 优化决策:实时数据分析与预测,提供精准的决策依据,助力管理层做出明智选择。 资源整合:打破部门壁垒,实现信息共享,优化资源配置,降低运营成本。 合规风控:内置法规遵循机制,强化内部控制,降低经营风险。 持续改进:通过对系统数据的持续监控与分析,驱动业务流程持续优化,促进企业创新与发展。 总的来说,管理系统作为现代企业管理的重要工具,以其强大的数据处理能力、智能化的决策支持和高效的业务流程管理,有力推动了企业的数字化转型,助力企业在日益激烈的市场竞争保持竞争优势。
毕业设计管理系统。毕业设计管理系统。毕业设计管理系统。毕业设计管理系统。毕业设计管理系统。毕业设计管理系统。毕业设计管理系统。毕业设计管理系统。毕业设计管理系统。毕业设计管理系统。毕业设计管理系统。毕业设计管理系统。毕业设计管理系统。毕业设计管理系统。毕业设计管理系统。毕业设计管理系统。毕业设计管理系统。毕业设计管理系统。毕业设计管理系统。毕业设计管理系统。毕业设计管理系统。毕业设计管理系统。毕业设计管理系统。毕业设计管理系统。毕业设计管理系统。毕业设计管理系统。毕业设计管理系统。毕业设计管理系统。毕业设计管理系统。毕业设计管理系统。毕业设计管理系统。毕业设计管理系统。毕业设计管理系统。毕业设计管理系统。毕业设计管理系统。毕业设计管理系统。毕业设计管理系统。毕业设计管理系统。毕业设计管理系统。毕业设计管理系统。毕业设计管理系统。毕业设计管理系统。毕业设计管理系统。毕业设计管理系统。毕业设计管理系统。毕业设计管理系统。毕业设计管理系统。毕业设计管理系统。毕业设计管理系统。毕业设计管理系统。毕业设计管理系统。毕业设计管理系统。毕业设计管理系统。毕业设计管理系统。毕业设计管理系统。毕业设计管
管理系统,作为一种高效的企业运营管理工具,旨在通过集成化、系统化的手段,对组织内部的各资源进行规划、协调、控制和优化,以实现企业战略目标,提升运营效率,增强核心竞争力。以下是对管理系统的详细介绍: 一、定义与构成 管理系统是指由硬件设备、软件应用、数据资源、人员以及相关管理制度共同构建的,用于处理、监控、分析和决策各业务活动的综合信息系统。它通常包括以下几个核心组成部分: 数据采集模块:负责从各业务环节实时、准确地收集信息,形成企业的基础数据资源。 数据分析模块:运用统计学、人工智能等技术对数据进行深度挖掘和智能分析,提供决策支持。 业务流程管理模块:设计、执行、监控和优化业务流程,确保各项任务按照预定规则高效运转。 决策支持模块:基于数据分析结果,为管理者提供直观的可视化报告,辅助其进行科学决策。 用户界面与交互模块:提供友好的人机交互界面,方便用户操作使用。 二、主要型与功能 管理系统根据所针对的管理对象和领域,可分为多种型,如: 人力资源管理系统(HRM):涵盖招聘、培训、绩效考核、薪酬福利等人力资源全流程管理,提升人才效能。 客户关系管理系统(CRM):集管理客户信息,优化销售、营销和服务流程,提升客户满意度和忠诚度。 供应链管理系统(SCM):整合供应商、制造商、分销商、零售商等供应链各环节,实现物流、资金流、信息流的协同运作。 企业资源计划系统(ERP):对企业内部财务、生产、采购、库存、销售等各项资源进行全面集成管理,提高整体运营效率。 项目管理系统(PM):对项目全生命周期进行规划、跟踪、控制,确保项目按时、按质、按预算完成。 三、价值与优势 提高效率:自动化工作流程、标准化业务操作,显著减少人工干预,提升工作效率。 优化决策:实时数据分析与预测,提供精准的决策依据,助力管理层做出明智选择。 资源整合:打破部门壁垒,实现信息共享,优化资源配置,降低运营成本。 合规风控:内置法规遵循机制,强化内部控制,降低经营风险。 持续改进:通过对系统数据的持续监控与分析,驱动业务流程持续优化,促进企业创新与发展。 总的来说,管理系统作为现代企业管理的重要工具,以其强大的数据处理能力、智能化的决策支持和高效的业务流程管理,有力推动了企业的数字化转型,助力企业在日益激烈的市场竞争保持竞争优势。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值