c++中的類型轉換

    double pi = 3.14;
	int num1 = pi;
	int num2 = static_cast<int> (pi);//用於基礎類型轉換 不包括指針
	char*ch = "nihao ";
	int*ch2 = reinterpret_cast<int*>(ch);//強制轉換換 包括指針
	// 但不包括基礎類型
	cout << "ch:" << ch << endl;//輸入nihao
	cout << "ch2:" << ch2 << endl;//輸入ch2的地址
	system("pause");
	return 0; 

類關係
Animal派生Dog和Cat
Tree單獨類

	Animal*pbase = NULL;
	pbase = pdog;//right		
	pbase = static_cast<Animal*>(pdog);//right 
	pbase = reinterpret_cast<Animal*>(pdog);//right 
	pbase = dynamic_cast<Animal*>(pdog);//right 

	Tree*ptree = new Tree;
	pbase = ptree;//error
	pbase = static_cast<Animal*>(ptree);//error
	pbase = reinterpret_cast<Animal*>(ptree);//right 強制轉換 
	pbase = dynamic_cast<Animal*>(ptree);//error
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章