C++对象拾遗
2015-06-01 15:16
375 查看
#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(注意这里自动调用了析构函数)
*****************************/
收藏于 2012-03-07
来自于百度空间
#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(注意这里自动调用了析构函数)
*****************************/
收藏于 2012-03-07
来自于百度空间
相关文章推荐
- C++ 9.2迭代器支持的运算和迭代器范围
- c++MFC编译错误
- Ogre SdkTrays UI c++ code override with c# (.net2.0)
- C语言点滴
- C语言结构体里的成员数组和指针
- C++ cin 输入检测——vector数组循环赋值
- C++ 面向对象基本释义
- 编译原理实验:miniC语言编译器
- NYOJ 10 skiing
- C++杨辉三角完美打印输出
- C++ 9.1.2 容器内元素的类型约束-------非引用、非IO标准库类型
- 浅谈C++多态性
- OC语言疯狂讲义学习笔记
- C++程序设计 - Week 1 从C走进C++
- C语言的32个关键字
- [STL][C++]STACK QUEUE
- C++ 与 php 的交互 之----- C++ 获取 网页文字内容,获取 php 的 echo 值。
- 关于C语言中自增自减
- Cpp Primer<<学习函数-重载函数_2
- [STL][C++]LIST