【C++學習筆記】使用new建立動態結構

好好學習專用部落格發表於2017-04-03

一、建立方法

inflatable * ps = new inflatable;

二、訪問成員

1、訪問方法1

建立動態結構時,不能將成員運算子句點用於結構名,因為這種結構沒有名稱,只是知道它的地址。C++專門為這種情況提供了一個運算子:箭頭成員運算子(->)

如果結構識別符號是結構名,則使用句點運算子;如果結構識別符號是指向結構的指標,則使用箭頭運算子。

2、訪問方法2

如果ps是指向結構的指標,則*ps就是被指向的值——結構本身,由於*ps是一個結構,因此(*ps).price是該結構的price成員。C++的運算子優先規則要求使用括號。

三、例子

#include <iostream>
struct inflatable
{
	char name[20];
	float volume;
	double price;
};
int main()
{
	using namespace std;
	inflatable * ps = new inflatable;
	cout << "Enter name of inflatable item: ";
	cin.get(ps->name,20);
	cout << "Enter volume in cubic feet: ";
	cin >> (*ps).volume;
	cout << "Enter price: $";
	cin >> ps->price;
	cout << "Name: " << (*ps).name << endl;
	cout << "Volume: " << ps->volume << " cubic feet\n";
	cout << "Price: $" << ps->price << endl;
	delete ps;
	return 0;
}


相關文章