c++对象初始化(翁恺c++公开课[10])

c++对象初始化 就是去调用构造函数来完成初始化操作;

构造函数有无参数的构造函数、有参数构造函数、默认构造函数(编译器给我们实现的)...(拷贝构造函数之后说)

注意:默认构造函数只有在我们自己没有声明构造函数时编译器才会给我们制造一个没有参数的构造函数,如果我们定义了,编译器就不会管了

例子:看下边的C类,编译器并不会给我们初始化一个默认的构造函数

#include <iostream>

class A   //默认构造函数 A()  这是在编译时,编译器给我们实现的
{
};

class B
{
public:
    B() {}      //无参数构造函数
};

class C
{
public:
    C(int i) {}  //有参数构造函数
};

class D
{
public:
    D() {}  //无参数构造函数
    D(int i) {}  //有参数构造函数
};

int main()
{
    A a;
    B b;
    C c;   //error   只有在没有构造函数的情况下编译器才会给我们制造一个默认的无参数的构造函数
    C c1(1);  //ok
    D d,d1(0);   //ok
    return 0;
}

报错说:找不到构造函数 C::C() 来初始化对象c

原文地址:https://www.cnblogs.com/go-ahead-wsg/p/12203820.html

时间: 2024-08-08 21:58:41

c++对象初始化(翁恺c++公开课[10])的相关文章

c++构造函数的初始化列表(翁恺c++公开课[13])

初始化列表形式: class Point { private: const float x,y; Point(float xa = 0.0, flato ya = 0.0):y(ya),x(xa) {} }; y(ya),x(xa)就是初始化列表的形式,而且是在构造函数被调用之前运行: 从此以后要用这种方式写构造函数的初始化. 原文地址:https://www.cnblogs.com/go-ahead-wsg/p/12210663.html

斯坦福iOS7公开课10笔记及演示Demo

这一节主要介绍了多线程中的串行队列以及滚动视图UIScrollView. 一 .多线程 这一节只是简单介绍了多线程的串行队列,即把任务加入线程队列后按顺序逐步执行. (1)目前iOS多线程提供的方法主要是GCD和NSOperation,前者是C语言级别的,后者是经过封装,更具有面向对象特性的API. (2)UI交互操作都是在主线程进行,所以为了保证交互过程的流程舒适,类似于下载等耗时操作就需要主线程外执行,否则将出现用户无法对手机进行操作的场景. 这时通过多线程,就可以使下载图片等耗时操作单独进

很棒的计算机入门课程:公开课从与非门到俄罗斯方块(第二部分)

博客中的文章均为meelo原创,请务必以链接形式注明本文地址 Build a Modern Computer from First Principles: Nand to Tetris Part II (project-centered course) by: Noam Nisan & Shimon Schocken from: Hebrew University of Jerusalem 课程链接:https://www.coursera.org/learn/nand2tetris2/home

斯坦福iOS7公开课4-6笔记及演示Demo

1.变量类型别滥用id,如果不仔细容易在程序执行时引发错误,因为在编译阶段编译器只是检测变量对象所属类型,尤其是类型为id时代表任何类型都可以通过检查,但不会检测变量对象调用的方法,这样当对象所属类不包含所写的调用方法时,编译通过,但在程序运行时才会报错. 2.简单介绍了框架自带的集合.字体等. 3.通过使用NSAttributedString可以让屏幕显示的字体样式更丰富,设置各种样式等,详细参见附件的演示Demo:http://files.cnblogs.com/colinhou/Attri

斯坦福iOS7公开课7-9笔记及演示Demo

这一部分主要介绍了iOS的绘图.手势.协议.block.力学特效动画(包括重力.碰撞.吸附等)以及自动布局的内容.    一.绘图.手势 (1)调用一个自定义的UIView时,可以使用awakeFromNib方法做一些初始化工作. (2)iOS中绘图需要了解的常用测量单位: CGFloat:浮点值,与float一样: CGPoint.CGSize.CGRect是三个结构体分别代表游XY坐标描述的店.宽度高度描述的大小值以及由原点坐标.宽度高度描述的矩形,度量单位都是CGFloat. (3)自定义

普林斯顿公开课 算法2-1:排序概述

目标 对所有类型的数据进行排序. 问题 排序函数如何知道比较的是哪种类型的数据呢? 回调函数 这时候就需要引入回调函数的概念了.回调函数就是将可执行的代码作为参数进行传递. 实现回调的方法 在Java中可以通过接口来实现,在C语言中可以通过函数指针来实现,C++中可以通过class-type functor,也就是重载操作符operator ()的类,在C#中可以使用Delegate委托,在Python/Perl/ML/javascript中可以直接传递函数. JDK中提供了Comparable

斯坦福大学公开课:iPad和iPhone应用开发(iOS5) 学习笔记 2

继续学习公开课 第二节课做了一个简单的计算器作为例子.大概Touch了如下知识点: 讲解了XCode4,我看了一下最新下载的是XCode8了. XCode创建工程, singleViewApplication还是有的,界面对比起XCode4来,更简洁些了,操作跟视频讲解里的差不多. 体会了下第一节课讲的MVC View的代码看不到这个感觉不太爽,特别是前面操作是将number的button拷贝到了 operation的 button,结构导致operation button也都连接到了digit

机器学习公开课笔记(5):神经网络(Neural Network)——学习

这一章可能是Andrew Ng讲得最不清楚的一章,为什么这么说呢?这一章主要讲后向传播(Backpropagration, BP)算法,Ng花了一大半的时间在讲如何计算误差项$\delta$,如何计算$\Delta$的矩阵,以及如何用Matlab去实现后向传播,然而最关键的问题——为什么要这么计算?前面计算的这些量到底代表着什么,Ng基本没有讲解,也没有给出数学的推导的例子.所以这次内容我不打算照着公开课的内容去写,在查阅了许多资料后,我想先从一个简单的神经网络的梯度推导入手,理解后向传播算法的

机器学习公开课笔记(8):k-means聚类和PCA降维

K-Means算法 非监督式学习对一组无标签的数据试图发现其内在的结构,主要用途包括: 市场划分(Market Segmentation) 社交网络分析(Social Network Analysis) 管理计算机集群(Organize Computer Clusters) 天文学数据分析(Astronomical Data Analysis) K-Means算法属于非监督式学习的一种,算法的输入是:训练数据集$\{x^{(1)},x^{(2)},\ldots, x^{(m)}\}$(其中$x^