C++ 类的实例化
1.直接实例化
2.数组方式
3.vector容器方式
4.指针方式
注意:
class 与 struct 的区别是默认权限
class 的默认权限是 私有
static的默认权限是 公有
#include <iostream>
#include <string>
#include <vector>
using namespace std; // 命名空间定义 使用C++标识符 例如:cout
//创建类
class Acc
{
//类的权限默认是私有的
public: // 类权限设置为 公有
//属性1
string name{"None"};
//属性2
double value{0.0};
};
int main()
{
//实例化 对象
Acc l1;
Acc l2;
//实例化 数组方式
Acc acc1 [] {l1, l2};
//实例化 vector容器方式
vector <Acc> acc2{l1};
//vector容器内追加对象
acc2.push_back(l2);
//实例化 指针方式
Acc *acc3 = new Acc(); // 分配内存空间
delete acc3; // 释放内存空间
return 0;
}
C++ 类的权限与调用方法
1.private: 内部可访问
2.public: 外部可访问
#include <iostream>
#include <string>
#include <vector>
using namespace std; // 命名空间定义 使用C++标识符 例如:cout
//创建类
class Acc
{
//类的权限默认是私有的
//private: 类权限设置为 内部访问
public: // 类权限设置为 公有
//属性1
string name{"None"};
//属性2
double value{0.0};
//方法1
bool fun1(double a1){
value += a1;
cout << name << " 加 " << a1 << " 现在:" << value << endl;
return true;
};
//方法2
bool fun2(double a2){
value -= a2;
cout << name << " 减 " << a2 << " 现在:" << value << endl;
};
};
int main()
{
//实例化 对象
Acc l1;
//修改类属性
l1.name = "my1";
l1.value = 1000.0;
//调用类方法
l1.fun1(500.0);
l1.fun2(200.0);
//实例化指针
Acc *n1 = new Acc(); // 分配内存
(*n1).name = "my2"; // 使用. 加括号提升运算优先级
n1->value = 2000.0; // 使用->
(*n1).fun1(50.0); // 两种方式
n1->fun2(2.0);
delete n1; // 释放内存
return 0;
}