首页 > 代码库 > 类的实例化
类的实例化
C++中类的实例化有两种方式——在栈中实例化和在堆中实例化
在栈中实例化为静态分配内存,不需要手动回收,超出内存系统报错。
在堆中实例化为动态分配内存,需要使用delete回收。
#include<iostream> #include<string.h> #include<cstdio> using namespace std; class Person { public: int age; string name; int sex; public: Person(int age,int sex,string name) { this->age=age; this->sex=sex; this->name=name; } int getAge(); int getSex(); string getName(); }; int Person::getAge() { return this->age; } int Person::getSex() { return this->sex; } string Person::getName() { return this->name; } ostream &operator<<(ostream &os,Person &p) { os<<p.getAge()<<" "<<p.getSex()<<" "<<p.getName(); return os; } ostream &operator<<(ostream &os,Person *p) { os<<p->getAge()<<" "<<p->getSex()<<" "<<p->getName(); return os; } int main() { //在堆中实例化 Person *p1 = new Person(1,1,"name1"); //在栈中实例化 Person p2(2,2,"name2"); cout<<p1<<endl; delete p1; cout<<p2<<endl; }
在堆中实例化需要用指针来接收实例化的对象。
类的实例化
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。