c++类的编写

要主要的几个特殊的函数:

1、构造函数,

2、复制构造函数,

3、拷贝构造函数

//以上三个函数,会默认创建,但是当用户定义的时候会取消默认的创建。

4、常对象的函数,

5、可变对象的函数,

//在对象变量可以变化的时候,只有5;在对象变量不变的时候,只有4,

可以参考的代码:

#ifndef MATRIX_H
#define MATRIX_H

#include <vector>

using namespace std;

template <typedef Object>
class matrix
{
public:
matrix( int rows, int cols ) : array( rows )//构造函数
{
for( int i = 0; i < rows; i++ )
array[ i ].resize( cols );
}
matrix( const matrix & rhs ) : array( rhs.array ) { }//拷贝构造函数

matrix & operator = (const matrix & rhs) //复制构造函数
{
if(this == &rhs)
{
return *this;
}
this->array = rhs.array;
return *this;
}

const vector<Object> & operator[]( int row ) const
{ return array[ row ]; }

vector<Object> & operator[]( int row )
{ return array[ row ]; }

int numrows( ) const
{ return array.size( ); }
int numcols( ) const
{ return numrows( ) ? array[ 0 ].size( ) : 0; }
private:
vector< vector<Object> > array;
};

#endif

时间: 2024-10-12 11:12:43

c++类的编写的相关文章

Python——类代码编写细节

类代码编写细节 继续学习类.方法和继承. ================================================================================ class语句 以下是class语句的一般形式: class <name>(superclass,...): data = value def method(self,...): self.member = value 在class语句内,任何赋值语句都会产生类属性,而且还有特殊名称方法重载运

ReflectUitls类的编写和对反射机制的解析

ReflectUitls类的编写和对反射机制的解析 反射相关的类 反射相关的类,最基本的当然是Class类. 获取了Class对象之后,就可以接着生成对象实例.调用方法.查看字段等等. 字段(Field).方法(Method)和构造方法(Constructor<T>)各有相应的类来表示,它们共同继承于java.lang.reflect.AccessibleObject类: 这三个类共同实现的还有Member接口: 获取字段.方法和构造方法时,需要调用Class类的getXXX()和getDec

Goods Step01:工具类的编写

1.导包和配置文件: /WebContent/WEB-INF/lib activation.jar c3p0-0.9.2-pre1.jar c3p0-oracle-thin-extras-0.9.2-pre1.jar commons-beanutils-1.8.3.jar commons-collections-3.0.jar commons-dbutils-1.4.jar commons-fileupload-1.2.2.jar commons-io-1.4.jar commons-lang-

类在编写过程中的一些注意事项

在编写类的时候我们要很好的把握细节问题,不仅仅要去避免一些明显的错误,更多的是如何形成良好的编程风格.下面我们将从下面的一个例子分析类的编写技巧: class Complex { public: Complex(double real,double imaginary = 0):_real(real),_imaginary(imaginary){ } void operator+(Complex other) { _real =_real +other._real; _imaginary = _

20140902 字符串拷贝函数 右旋转字符串 string类的编写

1.strncpy字符串拷贝函数 //strncpy的程序 #include<stdio.h> #include<assert.h> char *strncpy1(char *strDest,const char *strSrc,int n) { assert((strDest!=NULL)&&(strSrc!=NULL)&&n>0); if(strDest==strSrc) return strDest; char *Address=strD

c#中sqlhelper类的编写(二)

上一篇文章讲了简易版的SqlHelper类的编写,我们在这里就上一篇文章末尾提出的问题写出解决方案. sql语句注入攻击已经是众所周知的了.我们如何在C#中保护自己的数据库不被这样的方式攻击呢? 不用担心,c#中已经提供了很好的解决方案,那就是 SqlParameter类. 如何使用它呢? class SqlHelper{ public object ExecuteScalar(string sql,Parameter [] parameters)//这一这里增加了一个参数,是个Paramete

20150124--初始化类文件编写

和涛哥学习MVC一 目录 和涛哥学习MVC一... 1 一.项目开发流程... 2 二.MVC原理解析... 2 1.简介... 2 2.名词解析... 2 3.单一入口访问原理... 3 4.MVC单一入口原理图... 3 5.mvc项目文件结构... 3 三.编写MVC框架... 4 1.编写index.php入口文件... 4 2.编写Application.class.php初始化类文件... 4 1)初始化字符集... 4 2)初始化系统常量... 5 3)初始化错误信息... 5 4

2015/11/3 完成酷欧天气的数据库、网络连接类的编写

在陆续收到双十一给自己购买的礼物之后,发现一件非常严重的事情就是新键盘并不能支持OsX,所以此时的我内心是崩溃的.但是花费太多精力在打磨工具上了,顾此失彼,毕竟mac的键盘其实还是蛮好用的. 学习进度: 今天的学习进度非常可悲,只是编写了HttpUtil.HttpCallbcakListener接口.Utility这几个类和初步的布局,暂时没有遇到问题,希望明天可以再接再厉. 确实抽不出时间来浏览大量程序员圈子的内容.So Sad!

智能机器人“小昆”的实现(二)获取服务器数据工具类的编写及测试

没有取得图灵机器人认证的朋友可以看上一篇,点击下面的地址即可: http://www.cnblogs.com/fuly550871915/p/4852148.html 已经取得认证的朋友,可以继续往下做了.下面就开始我们的实际代码编写.在这篇文章中,我们要实现通过调用图灵机器人API获取返回的数据的功能.而且搭建相应的测试环境,看看我们这个功能实现的到底正确不正确. 一.获得服务器返回数据的工具类的实现 主要是android中的简单的网络编程知识的运用.代码如下: 1 package com.f

java类及编写public类的基础点

1.一个java文件中只能有一个public类.且公共类名称必须与java文件名一致,否则会出现错误提示.与其他面向对象编程语言的一样,在利用java分析问题时,基本思路即为将问题的属性(静)与行为(动)抽象封装成类,对象是类的某一实体化结果,在实体化之后,可运用对象解决问题:主方法是程序的入口,执行点,一个文件只能含有一个主方法:构造函数:与公共类同名,但无返回值.默认无参:主方法与一般方法是并列关系,不可在主方法中编写一般方法,只能互相调用:例如下列程序: package kindobjec