1 构造函数

1.不能指定任何返回值,甚至连void都不能有。

2.与Java不同,c++不同new对象,对于无参的构造函数声明对象时括号应该省略。

2 析构函数

1. 前加~,不能有参数,不能有返回值。

2.每个类内只能声明一个析构函数并且公有。

3 类的组合

#include <iostream.h>
class A
{
public:
A(int x)
{
cout<<"class A construing\t\t"<<x<<endl;
}
~A()
{
cout<<"class A destroy"<<endl;
}
}; class B
{
public:
B()
{
cout<<"class B construing\t\t"<<endl;
}
//可以利用这种方式初始化私有变量
B(int x):b(x)
{
//b=x;
cout<<"class B construing\t\t"<<b<<endl;
}
~B()
{
cout<<"class B destroying"<<endl;
}
private:
int b;
}; class C
{
public:
C(int x,int y):a1(y)
{
cout<<"Class A with y ,C with xy construing, but B with nothing "<<x<<y<<endl;
}
C(int x,int a,int b);
~C()
{
cout<<"class C destroying"<<endl;
}
private:
A a1;
B b1;
}; C::C(int x,int a,int b):b1(b),a1(a)
{
cout<<"class A B C construing"<<x<<a<<b<<endl;
} int main()
{
C c1(,);
C c2(,,);
return ;
}

创建组合类时,将按内嵌对象在类中的声明先后顺序,而不是按成员初始化列表中的顺序,调用其相应的构造函数,最后调用该组合类的构造函数。

析构函数的调用正好相反。

在定义构造函数时,才可以带有成员的初始化列表,如果仅是声明构造函数,不可以带成员初始化列表。

必须指出成员初始化列表也可用于初始化类中的普通数据成员。

c++基础语法 构造函数 析构函数 类的组合的更多相关文章

  1. Java基础语法(自定义类、ArrayList集合)

    Java基础语法 今日内容介绍 u 自定义类 u ArrayList集合 第1章 引用数据类型(类) 1.1 引用数据类型分类 提到引用数据类型(类),其实我们对它并不陌生,如使用过的Scanner类 ...

  2. python2学习------基础语法3(类、类的继承、类成员函数、防御式编程)

    1.类的定义以及实例化 # 类定义 class p: """ this is a basic class """ basicInfo={&q ...

  3. java基础语法:非法修饰符组合 abstract

    abstract 与 final :abstract 是需要被继承以实现的,final却说你不能被修改,逻辑错误 abstract 与  private:同样的abstract 需要被子类实现,但pr ...

  4. C++ 类 & 对象-类成员函数-类访问修饰符-C++ 友元函数-构造函数 & 析构函数-C++ 拷贝构造函数

    C++ 类成员函数 成员函数可以定义在类定义内部,或者单独使用范围解析运算符 :: 来定义. 需要强调一点,在 :: 运算符之前必须使用类名.调用成员函数是在对象上使用点运算符(.),这样它就能操作与 ...

  5. C++ 中的类构造函数 & 析构函数

    类的构造函数 类的构造函数是类的一种特殊的成员函数,它会在每次创建类的新对象时执行. 构造函数的名称与类的名称是完全相同的,并且不会返回任何类型,也不会返回 void.构造函数可用于为某些成员变量设置 ...

  6. 【C++基础】类的组合

    所谓类的组合是指:类中的成员数据是还有一个类的对象或者是还有一个类的指针或引用.通过类的组合能够在已有的抽象的基础上实现更复杂的抽象. 比如: 1.按值组合 #include<iostream. ...

  7. ASP.NET实现二维码 ASP.Net上传文件 SQL基础语法 C# 动态创建数据库三(MySQL) Net Core 实现谷歌翻译ApI 免费版 C#发布和调试WebService ajax调用WebService实现数据库操作 C# 实体类转json数据过滤掉字段为null的字段

    ASP.NET实现二维码 using System;using System.Collections.Generic;using System.Drawing;using System.Linq;us ...

  8. Java11-java基础语法(十)类设计综合案例

    Java11-java语法基础(十)类设计综合案例 一.类综合设计方法 1.类设计步骤 (1)分析数据成员 (2)分析成员方法和构造方法 (3)画出类图 (4)编码测试 2.具体问题 1)分析数据成员 ...

  9. C++编写字符串类CNString,该类有默认构造函数、类的拷贝函数、类的析构函数及运算符重载

    编码实现字符串类CNString,该类有默认构造函数.类的拷贝函数.类的析构函数及运算符重载,需实现以下“=”运算符.“+”运算.“[]”运算符.“<”运算符及“>”运算符及“==”运算符 ...

随机推荐

  1. jni数据问题

    目的: jni中(c++函数)一个 char buf[4] 如何通过env->CallVoidMethod(clazz,method_OnFindCards,jStringParam); 在ap ...

  2. MCI音乐播放

    缘由: 在改正俄罗斯方块程序的功能的时候,想给这个程序增加一个背景音乐.本想用PlayWave来做的,但想到这个功能十分常用,那还不如封装一个自己的CMusic 类,以备不时之需.本来以为很容易的,可 ...

  3. CodeForces 400

    A - Inna and Choose Options Time Limit:1000MS     Memory Limit:262144KB     64bit IO Format:%I64d &a ...

  4. 《C#并行编程高级教程》第7章 VS2010任务调试 笔记

    没有什么好说的,主要是将调试模式下的Parallel Tasks窗体和Parallel Stacks窗体.折腾一下应该比看书效果好.(表示自己没有折腾过) 另外值得注意的是,主线程不是一个任务.所以主 ...

  5. Google Chrome中的高性能网络(一)

    以下内容是"The Performance of Open Source Applications" (POSA)的草稿, 也是The Architecture of Open S ...

  6. Android图片上传,可以选择多张图片,缩放预览,拍照上传等

    仿照微信,朋友圈分享图片功能 .可以进行图片的多张选择,拍照添加图片,以及进行图片的预览,预览时可以进行缩放,并且可以删除选中状态的图片 .很不错的源码,大家有需要可以下载看看 . 微信 微信 微信 ...

  7. WebService优点和缺点小结

    最近做的几个项目都用到了webservice,通过自己的实践和网上资料的汇总,现在做个小结:        当前WebService是一个热门话题.但是,WebService究竟是什么?,WebSer ...

  8. spoj 8222 Substrings(后缀自动机+DP)

    [题目链接] http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=28005 [题意] 给一个字符串S,令F(x)表示S的所有长度为 ...

  9. CentOS 6.4 安装 Transmission 2.76

    1.安装Transmission 首先打开Transmission下载页:http://www.transmissionbt.com/download/ ,点击CentOS下载项,会跳转到一个叫&qu ...

  10. hdu3394--Railway(点的双连通分量)

    一个公园中有 n 个景点,景点之间通过无向的道路来连接,如果至少两个环公用一条路,路上的游客就会发生冲突:如果一条路不属于任何的环,这条路就没必要修 问,有多少路不必修,有多少路会发生冲突 每一个连通 ...