c++学习之构造函数

  类多么重要我就不多说了,只讲讲学习,因为个人认为类的学习无论从概念的理解还是实际代码的编写相对其他C兼容向的代码都是比较有难度的, 对于以前学C 的人来说这才是真正的新概念和内容,STL其实还比较好理解,不就是一个更大的函数库和代码可以使用嘛。

  ?

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30

#include<stdio.h>
 
class Test
{
private:
int i;
int j;
int k;
public :
void initialize()
{
i=0;
j=1;
k=2;
}
 
void print()
{
printf("i=%d,j=%d,k=%d",i,j,k);
}
 
}; ///分号至关重要
 
int main()
{
Test t1;
t1.initialize(); ///构造函数
t1.print();
return 0;
}


  使用构造函数

  ?

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38

#include<stdio.h>
 
class Test
{
private:
int i;
int j;
int k;
public :
Test(int v) ////与类名相同
{ ////构造函数定义时可以有参数 不可以有返回类型
////无返回类型 与返回类型为void 不相同
i=j=k=v;
}
 
void print()
{
printf("i=%d ,j=%d ,k=%d n",i,j,k);
}
 
}; ///分号至关重要
 
int main()
{
Test t1(1); ///自动调用构造函数
Test t2=2; ///构造函数
Test t3= Test(3);
t1.print();
t2.print();
t3.print();
 
Test TA[3]={Test(1),Test(2),Test(3)};
for (int i=0; i<3; i++)
{
TA[i].print();
}
return 0;
}


  以上所述就是本文的全部内容了,希望大家能够喜欢。

时间: 2024-09-10 21:45:32

c++学习之构造函数的相关文章

Flash AS学习:构造函数小结

函数 一.构造函数的差别性 构造函数是一个特殊的成员函数,与成员函数具有共同性和差别性.例如:构造函数与成员函数一样,通过function关键字来定义,可以声明为private或public,可以在构造函数中加入参数等. 一.构造函数的差别性主要体现在: l    构造函数名与类名必须相同,并且区分大小写: l    构造函数不能声明为static,它只能是private或public: l    构造函数中不能使用return语句返回一个值: l    构造函数不能返回指定的数据类型: 当违反

深入学习java构造函数

*来自对构造函数的继承,及相关调用思考得到,主要还是从<java面向对象编程>得来 *在多级继承的情况下,将从继承树的最上层的父类开始,依次执行各个类的构造方法, 这可以保证子类对象从所有直接或间接父类中继承来的实例都被正确的初始化. *当子类的构造方法没有用super语句显示的调用父类的构造方法,而父类中又没有提供默 认的构造方法(jdk提供的默认构造方法)时,将会出现编译错误. public class Grapha { // public Grapha() { // System.out

c++学习之构造函数_C 语言

#include<stdio.h> class Test { private: int i; int j; int k; public : void initialize() { i=0; j=1; k=2; } void print() { printf("i=%d,j=%d,k=%d",i,j,k); } }; ///分号至关重要 int main() { Test t1; t1.initialize(); ///构造函数 t1.print(); return 0; }

《C++面向对象高效编程(第2版)》——3.3 复制构造函数

3.3 复制构造函数 C++面向对象高效编程(第2版)③ TIntStack s2 = s1;这是一个小小的技巧.我们试图创建TIntStack类的另一个对象s2.但是,我们希望用s1初始化这个对象.换句话说,必须通过s1创建s2.当然,前提是s1已经存在.这类似于以下声明: int j; int k = j; // 创建一个k并初始化为j``` 在这种情况下,编译器知道如何用j初始化k,因为int是语言定义(内置)类型.然而,③中的TIntStack是程序员定义类型,这表明由程序员负责将s1初

《从零开始学Swift》学习笔记(Day 37)——默认构造函数

Swift 2.0学习笔记(Day 37)--默认构造函数原创文章,欢迎转载.转载请注明:关东升的博客 结构体和类的实例在构造过程中会调用一种特殊的init方法,称为构造函数.构造函数没有返回值,可以重载.在多个构造函数重载的情况下,运行环境可以根据它的外部参数名或参数列表调用合适的构造函数.默认构造函数结构体和类在构造过程中会调用一个构造函数,即便是没有编写任何构造函数,编译器也会提供一个默认的构造函数.下面看示例代码: class Rectangle { var width: Double

C++构造函数深度学习_C 语言

本文针对C++构造函数进行深度探究,供大家参考,具体内容如下 1.引子:  以下代码中的输出语句输出0吗,为什么? struct Test { int _a; Test(int a) : _a(a) {} Test() { Test(0); } }; Test obj; cout << obj._a << endl; 输出为:-858993460 2.剖析上面代码的输出为一个垃圾值,也就是说obj调用构造函数并没有对成员进行初始化工作,虽然默认无参构造Test()内部调用了Test

javascript构造函数: JavaScript学习笔记(二十四) 模块创建构造函

 模块创建构造函数(Modules That Create Constructors)在前面的例子中,创建了一个MYAPP.utilities.array对象,但有时候使用构造函数创建你的对象更方便,你也可以使用模块模式实现它.唯一的不同就是在包裹模块的立即执行函数返回一个函数而不是对象.下面这个例子就是模块模式创建一个构造函数 MYAPP.utilities.ArrayMYAPP.namespace('MYAPP.utilities.Array');MYAPP.utilities.Array

C++学习摘要之二:构造函数和析构函数

构造函数和析构函数是类的两个特殊的成员函数 1.构造函数 构造函数(constructor)是类的一个特殊的成员函数,它与类名同名.当定义该类的对象时,构造函数将被系统自动调用用以实现对该对象的初始化. 构造函数不能有返回值,因而不能指定包括void在内的任何返回值类型. 构造函数的定义与其他成员函数的定义一样可以放在类内或类外. 构造函数的定义格式为: 类名(形参说明) {函数体} 构造函数既可以定义成有参函数,也可以定义成无参函数,要根据问题的需要来定. 注意:程序中不能直接调用构造函数,构

Emit学习-基础篇-为动态类添加属性、构造函数、方法

我们通过一个计算A+B的动态类来演示如何为一个动态类添加属性.构造函数 .方法,以及在方法中使用类中定义的属性,按照惯例,我们先给出要实现的动 态类的C#代码,然后再针对C#代码给出相应的实现,代码如下: Add public class Add { private int _a = 0; public int A { get { return _a; } set { _a = value; } } private int _b = 0; public int B { get { return