#pragma once#include <iostream>
using namespace std;
class Circle { int radius;public: Circle() { radius = 1; cout << "create " << radius << endl; } Circle(int r) { radius = r; cout << "create " << radius << endl; } double getArea(); void setRadius(int r) { radius = r; } ~Circle() { cout << "destroy " << radius << endl; }};
double Circle::getArea() { return 3.14 * radius * radius;}
##.c
#include "헤더.h"
int main() { Circle donut; Circle pizza(30);
cout << donut.getArea() << endl;
Circle *p;
p = &donut;
cout << p->getArea() << endl; cout << (*p).getArea() << endl;
Circle circleArray[3];
circleArray[0].setRadius(10); circleArray[1].setRadius(20); circleArray[2].setRadius(30);
int i; for (i = 0; i < 3; i += 1) { cout << "area: " << i << " " << circleArray[i].getArea() << endl; }
Circle *pointer; pointer = circleArray;
for (i = 0; i < 3; i += 1) { cout << "area: " << i << " " << pointer->getArea() << endl; pointer++; }
Circle *pArray = new Circle[3]; pArray[0].setRadius(10); pArray[1].setRadius(20); pArray[2].setRadius(30);
for (i = 0; i < 3; i += 1) { //cout << pArray[i].getArea() << endl; cout << pArray->getArea() << endl; pArray++; } pArray = pArray - 3; Circle *pointArray2 = pArray;
for (i = 0; i < 3; i += 1) { cout << (pointArray2 + i)->getArea() << endl; //pointArray2++; }
delete[] pArray;}