栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

C++ 测试 DEMO

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

C++ 测试 DEMO

#include 
#include 
#include 


class C
{
 public:
 	C();
	~C();
 	int my_temp;
 	void test();
 	
};


C::C()
 :my_temp(0)
{
			printf("C构造函数n");	
			
}


C::~C()
{

}

void C::test()
{
		printf("C::testn");	

}
namespace metasp
{

	namespace net
	{
		//class C;
		class B	 	 
		 {

			public:
				B(std::shared_ptrtmp,int tmp1);
				virtual ~B();
				
			    virtual void test2()
			    {
			    	printf("virtual void test2n");
				}
		
			
			    std::shared_ptr pmyC;
			    //std::atomic mytmp1;
			    int  mytmp1;
			    
			    void test3()
			    {
			    	printf("test3()n");
				}
				
				
	
		
		 };



	} 
}

using namespace metasp::net;
using namespace std;

B::B(std::shared_ptrtmp,int tmp1)
	:pmyC(new C()),
	mytmp1(tmp1)
	{
			printf("B构造函数n");
			pmyC->test();
			printf("B::mytmp1 = %dn",(mytmp1));
			printf("B::mytmp1 = %pn",(&B::mytmp1));//类的偏移地址 
			printf("this->mytmp2 = %dn",(this->mytmp1));
			test3();
		    this->test3();
		    B::test3();
			
	}



B::~B()
{

}

using NewCallback = std::function ;
using DefaultFunction = std::function;
class A : public metasp::net::B
{
	
public:
	A(std::shared_ptrtmp,int tmp1);
	~A();
	
	void test2();
	void test2(int a);
	
	void Event1();
	void Event2(int a);
	
	
	
	void setFunc(const DefaultFunction  func);
	void setNewCallback( const NewCallback callback);
//	std::shared_ptr pmyC;
	DefaultFunction messageCallback;
	NewCallback messageCallback1;
	
	
};

A::A(std::shared_ptrtmp,int tmp1)
	:B(tmp,tmp1)
	{
			printf("A构造函数n");
			pmyC->test();
			
	
			this->setFunc(std::bind(&A::Event1,this));
			this->setNewCallback(std::bind(&A::Event2,this,std::placeholders::_1));
	}

A::~A()
{

}

void A::test2()
{
	printf("A::test2n");
}

void A::test2(int a)
{
	printf("A::test2(int a) a=%dn",a);
}



void  A::setNewCallback( const NewCallback callback)
{
    messageCallback1 = callback;
}

void A::setFunc(const DefaultFunction  func)
{
    messageCallback = func;

}

void A::Event1()
{
	printf("A::Event1()n");
}

void A::Event2(int tmp)
{
	printf("A::Event2() tmp = %dn",tmp);
}



int main(int argc, char** argv) {
	
	std::shared_ptr pmyC;
	int mytmp5 = 5;
	A *pA = new A(pmyC,mytmp5);
	pA->test2();
	pA->test2(7);
	pA->Event1();
	pA->Event2(mytmp5);
	
	printf("hello worldn");
	return 0;
}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/932216.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号