C++对象拾遗
来源:互联网 发布:淘宝网化妆品货到付款 编辑:程序博客网 时间:2024/06/03 20:37
#include <iostream.h>
#include <string.h>
//using namespace std;
class A
{
public:
A();//默认构造函数
A(char *sName);//构造函数,一个参数
A(const A &Aobj);//拷贝构造函数
virtual ~A();//析构函数,一般可以声明为虚函数
void sayhello();
char m_sName[10];
private:
void saywellcome();
char m_sPassword[10];
};
int main()
{
A *obj=new A("loster");//构造函数,返回一个对象的指针
obj->sayhello();
cout<<obj->m_sName<<" public var"<<endl;//可以访问公共变量
//A *anthorobj=new A(*obj);//拷贝构造函数,拷贝的空间是独立的
A anthorobj(*obj);//此方式声明不需要delete,作用域为大括号,返回一个对象
strcpy(anthorobj.m_sName,"lamase");
anthorobj.sayhello();
delete obj;//此会调用析构函数,new必须delete
return 0;
}
void A::sayhello()
{
saywellcome();
cout<<"good afternoon "<<m_sName<<endl;
}
void A::saywellcome()
{
cout<<"wellcome"<<endl;
}
A::A()
{
strcpy(m_sName,"aliay");
strcpy(m_sPassword,"123456");
}
A::A(char *sName)
{
strcpy(m_sName,sName);
strcpy(m_sPassword,"000000");
}
A::A(const A &Aobjs)
{
strcpy(m_sName,Aobjs.m_sName);
strcpy(m_sPassword,Aobjs.m_sPassword);//这里是可以访问private的,因为可以算是类内访问
}
A::~A()
{
cout<<"delete obj"<<endl;
}
/******输出****************
wellcome
good afternoon loster
loster public var
wellcome
good afternoon lamase
delete obj
delete obj(注意这里自动调用了析构函数)
*****************************/
- C 拾遗
- c拾遗
- java面向对象拾遗
- C++对象拾遗
- C/C++拾遗
- C语言拾遗
- c语言拾遗3
- c语言拾遗4
- C语言拾遗
- C/C++ 拾遗(1)
- C语言拾遗
- C语言拾遗
- C语言数据类型拾遗
- C语言函数拾遗
- C语言数组拾遗
- C语言指针拾遗
- C语言拾遗
- C/C++拾遗1
- 第12周项目1-3动物这样叫
- 实战 SQL Server 2008 数据库误删除数据的恢复
- YT02-简单数学课后题-1003 Heritage from father -(5.31日-烟台大学ACM预备队解题报告)
- sun.misc.BASE64Encoder存在的问题及其解决方法
- URI, URL, URN的概念和区分
- C++对象拾遗
- vim配置收集
- 《大话设计模式》--简单工厂模式<SimpleFactory>(1)
- Linux下的iwpriv(iwlist、iwconfig)的简单应用
- CNN网络结构层次解析
- AT90CAN32 跳转到BOOTLOADER
- [MySQL][ODBC 5.2(w) Driver]Access denied for user
- STL源码剖析---stack,queue
- 从BeagleBone谈AM335x硬件系统设计