第三十三讲 动态内存管理(课件+源代码)
《C++快速入门》033 - 课件+典型例题源代码本讲教学视频下载地址:动态内存管理 -《C++快速入门》033
附件包含:课件+典型例题源代码
注:VIP会员享有免费下载本站所有资源的特权!
友情提示:通过购买鱼C光盘(具体内容)赞助鱼C工作室均可加入VIP会员^_^
强烈支持楼主ing…… 支持!!! 课后?
#include <iostream>
#include <string>
#include <climits>
// new 是从内存池(堆)中申请一块内存 delete 是将申请的内存删除 必须成对出现 并将指针NULL
class Company
{
public://都可以调用
Company(std::string theName);
virtual void printInfo();//打印信息
//private://只用本类才能调用
protected://只用本类和本类派生出来的类才能调用
std::string theName;
};
class TechCompany : public Company
{
public:
TechCompany(std::string theName,std::string product);
virtual void printInfo();
//private:
protected:
std::string product;
};
Company::Company(std::string theName)
{
this->theName=theName;
}
void Company::printInfo()//打印信息 具体类的方法实现在外部不用virtual
{
std::cout<<"这个公司的名字叫"<<theName<<std::endl;
}
TechCompany::TechCompany(std::string theName,std::string product) :Company(theName)
{
this->product=product;//产品的名字
//theName公司的名字继承基类 :Company(theName)
}
void TechCompany::printInfo()//打印信息 具体类的方法实现在外部不用virtual
{
std::cout<<"这个公司的名字叫"<<theName<<"标志性产品名称"<<product<<std::endl;
}
int main()
{
Company*CompanyHogen=new Company("woyunjiqiren");//申请一个Company类型的指针 指向被申请得到的首地址赋值给*CompanyHogen
CompanyHogen->printInfo();
delete CompanyHogen;//删除刚刚申请的内存防止内存泄露
CompanyHogen=NULL;//同时必须将指针赋值为NULL 这样在访问这个指针时什么都不指向&解析地址时会报错
TechCompany*TechCompanyHogen=new TechCompany("苹果公司","iphone");
TechCompanyHogen->printInfo();
delete TechCompanyHogen;//删除刚刚申请的内存防止内存泄露
TechCompanyHogen=NULL;//同时必须将指针赋值为NULL 这样在访问这个指针时什么都不指向&解析地址时会报错
system("pause");
return 0;
} CompanyHogen=new TechCompany("苹果公司","iphone"); //将原来的指针重新申请一个TechCompany("苹果公司","iphone")类的对象数据
CompanyHogen->printInfo();
delete CompanyHogen;//删除刚刚申请的内存防止内存泄露
CompanyHogen=NULL;//同时必须将指针赋值为NULL 这样在访问这个指针时什么都不指向&解析地址时会报错
页:
[1]