一、对象的拷贝
#include<iostream>
class Square
{
private:
double side = 1.0;
public:
Square() = default;
Square(double side)
{
this->side = side;
}
double getArea()
{
return (side * side);
}
};
int main()
{
Square s1, s2{ 4.0 };
std::cout << s1.getArea() << std::endl;
std::cout << s2.getArea() << std::endl;
s1 = s2;
std::cout << s1.getArea() << std::endl;
std::cout << s2.getArea() << std::endl;
}
得到结果如上图所示。
二、匿名对象的使用
#include<iostream>
using std::cout;
using std::endl;
class Account
{
private:
double balance;
public:
Account()
{
balance = 0.0;
}
Account(double balance_)
{
balance = balance_;
}
void deposit(double amount)
{
balance += amount;
}
double withdraw(double amount)
{
auto temp{ 0.0};
if (balance < amount)
{
temp = balance;
balance = 0;
return(temp);
}
else
{
balance -= amount;
return(amount);
}
}
};
int main()
{
Account a1;
Account a2 = Account(100.0);
a1.deposit(9.0);
cout << a1.withdraw(10) << endl;
cout << a2.withdraw(52.00) << endl;
cout << Account(1000.0).withdraw(1001.0) << endl;
return (0);
}
匿名对象调用时存在,调用结束后消失。