C++ Learning Log 23--Object Pointer


First, the object pointer

#include<iostream>
#include"circle.h"

int main()
{
    
    
    auto* c1 = new Circle{
    
     1.0 };
    Circle c3{
    
     2.0 };
    auto c2 = &c3;

    std::cout << (*c1).getArea() << std::endl;
    std::cout << c2->getArea() << std::endl;

    auto c5 = new Circle[3]{
    
     1.0,2.0,3.0 };
    for (int i = 0; i < 3; i++)
    {
    
    
        std::cout << c5[i].getArea() << std::endl;

    }

    delete c1;
    delete[]c5;
    c1 = c5 = nullptr;

    delete c1;
    return 0;

}

insert image description here

2. Auxiliary documents

Circle class C file

#include"circle.h"
Circle::Circle()
{
    
    
	radius = 1.0;
}
Circle::Circle(double radius_)
{
    
    
	radius = radius_;
}
double Circle::getArea()
{
    
    
	return (3.14 * radius * radius);

}

Circle class H file

#pragma once
class Circle
{
    
    
private:
	double radius;
public:
	Circle();
	Circle(double radius_);
	double getArea();
};

Guess you like

Origin blog.csdn.net/taiyuezyh/article/details/124157807