printf()関数の戻り値とマルチステート実装

2529 ワード

関数の戻り値:
printf関数の一般的な形式は:
  int printf(const char *format,[argument]);
以上の形式では、Visual C++に「printf(」と入力すると表示されます.
説明printf関数タイプは整数であり、その戻り値は整数値である.
その値は実際にprintf制御出力の文字数である.
printf()関数は実際にはすべてのパラメータを文字で出力しており、この関数のパラメータ1(const char*format)に基づいて、理解に難くありません.
例:
      
    int  a,b;
    a = printf("gelin
"); //a 6,   b = printf("the value of printf is:%d",a); //b 24   printf("
%d
",b);

以上のプログラムが出力されます.
gelin
the value of printf is:6
24
C++の多態性
#include <iostream>

using namespace std;

class A
{
public:
	virtual void func1()
	{
		cout<<"A::func1";
	}
	void func2()
	{
		cout<<"A::func2";
	}
};

class B:public A
{

public:

	void func1()
	{
		cout<<"B::func1";
	}
	void func2()
	{
		cout<<"B::func2";
	}
};

void main()
{
	B x;

	B* pB = &x;

	A* pA = &x;

	pB->func1();

	pB->func2();

	pA->func1();

	pA->func2();

	printf("
"); }

//結果:B::func 1 Bfunc 2 B::func 1 A::func 2
エラー:
#include <iostream>

using namespace std;

class A
{
public:
	A(){}

	virtual ~A(){}

	virtual int f1()
	{
		//cout<<"Tencent";
		return -1;
	}
};

class B:public A
{
public:

	B()
	{
		//memset(this, 0, sizeof(B));
		m_nIntB = 0;
	}

	~B(){}

	int f1()
	{
		return m_nIntB;
	}

private:
	int m_nIntB;

};

int main()
{
	A *p = new B();

	cout<<p->f1()<<endl;

	delete p;

	return 0;
}
#include <iostream>

using namespace std;

class CTest
{
public:
	CTest()
	{
		m_nData = 0;
	}

	~CTest(){}

	int GetData()
	{
		return m_nData;
	}

private:

	int m_nData;
};

CTest& CreateObj()
{
	CTest test;

	return test;
}

int main()
{
	CTest test = CreateObj();

	cout<<test.GetData()<<endl;

	return 0;
}

//結果:CreateObj()関数が返すオブジェクトは、呼び出しが終了するにつれてメモリ領域が解放されるため、結果は任意の数値になります.
#include "stdio.h"
int main(int argc, char* argv[])
{
 printf("%d
",int(10/3));//3 printf("%f
",double(10/3));//3.000000 printf("%f
",10/3);//0.000000 int i = 0; printf("%d,%d
",i++,i++);//0,0 i = 0; printf("%d,%d
",i++,++i);//1,1 i = 0; printf("%d,%d
",++i,++i);//2,1 i = 0; printf("%d,%d
",++i,i++);//1,0 return 0; }