C++对象拾遗
#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++对象拾遗的更多相关文章
- 小甲鱼Python3笔记
000-愉快的开始 入门容易,学习难,代码量少. 跨平台: Windows, Mac OS, Linux, UNIX. 应用领域: 操作系统 WEB 3D动画 企业应用 云计算等等. 001-我和Py ...
- 类和对象:拾遗 - 零基础入门学习Python039
类和对象:拾遗 让编程改变世界 Change the world by program 这节课谈的内容主要有: 组合 ...... 此处省略N多内容,具体请看视频讲解 ...... 类.类对象和实例对 ...
- [Think In Java]基础拾遗1 - 对象初始化、垃圾回收器、继承、组合、代理、接口、抽象类
目录 第一章 对象导论第二章 一切都是对象第三章 操作符第四章 控制执行流程第五章 初始化与清理第六章 访问权限控制第七章 复用类第九章 接口 第一章 对象导论 1. 对象的数据位于何处? 有两种方式 ...
- 9、str类型和byte类型转换、列表拾遗、元组拾遗、字典拾遗、如何判断对象是否可迭代
str(字节类型,编码) 可用于创建字符串,或者将其他的转换成字符串 a= ‘李露’ #将字符串转换成字节流 b = bytes(a,encoding = 'utf-8') #将字节转换成 ...
- [C#.NET 拾遗补漏]03:你可能不知道的几种对象初始化方式
阅读本文大概需要 1.2 分钟. 随着 C# 的升级,C# 在语法上对对象的初始化做了不少简化,来看看有没有你不知道的. 数组的初始化 在上一篇罗列数组的小知识的时候,其中也提到了数组的初始化,这时直 ...
- 基础拾遗 C# Json 与对象相互转换
方法一.JavaScriptSerializer 方法二.JsonConvert 示例: Web API项目 1.新建 Model: namespace WebApi{ public class Pr ...
- Redis命令拾遗二(散列类型)
本文版权归博客园和作者吴双共同所有,欢迎转载,转载和爬虫请注明原文地址 :博客园蜗牛NoSql系列地址 http://www.cnblogs.com/tdws/tag/NoSql/ Redis命令拾 ...
- 基础拾遗------redis详解
基础拾遗 基础拾遗------特性详解 基础拾遗------webservice详解 基础拾遗------redis详解 基础拾遗------反射详解 基础拾遗------委托详解 基础拾遗----- ...
- try catch 与 throw拾遗
今天在微软虚拟学院看到的代码: var b = 0; try{ if (b == 0) { throw('NO NO!!'); } else { alert('OK OK'); }} catch(e) ...
随机推荐
- Ubuntu jdk 8 与 6 切换 (安装与配置)
Switch To Oracle JDK8 Switch To Oracle JDK8 1.1 Switch Oracle JDK in the Unbuntu 14.04 Step1 : Downl ...
- bean-json-bean-json 工具
package com.taotao.utils; import java.util.List; import com.fasterxml.jackson.core.JsonProcessingExc ...
- leetcode107
/** * Definition for a binary tree node. * public class TreeNode { * public int val; * public TreeNo ...
- 基于OpenGL编写一个简易的2D渲染框架-12 重构渲染器-BlockAllocator
BlockAllocator 的内存管理情况可以用下图表示 整体思路是,先分配一大块内存 Chunk,然后将 Chunk 分割成小块 Block.由于 Block 是链表的一个结点,所以可以通过链表的 ...
- C# 通用方法
一. /// <summary> /// 删除字符串中的中文 /// </summary> public static string Delete(string str) { ...
- (Python)numpy的argmax用法
解释 还是从一维数组出发.看下面的例子. import numpy as np a = np.array([3, 1, 2, 4, 6, 1]) print(np.argmax(a))4 argm ...
- MySQL 逻辑备份工具
简介: Mydumper.Myloader 是一个第三方的.开源的 MySQL 逻辑备份工具. 支持多线程,比起 mysqldump 要快很多,也能解决 innobackupex 备份工具对 MyIS ...
- Delphi笔记-自定义提示窗口
unit pbHint; interface uses Windows, Controls, Forms, Graphics; type TPBHint=class(THintWindow) //要自 ...
- delphi XE3解析JSON数据
测试数据如下: Memo1.text中的数据: { "date":"周二(今天, 实时:12℃)", "dayPictureUrl":&qu ...
- JSP通过表格显示数据库的信息
[step one] 1-1 建立数据库 在jsp中,我们使用的是mysql数据库,对于此数据的优缺点本篇不予以讲述,首先建立news数据库,其数据库中表的信息为: eg:< id :1 ; n ...