C++网易云课堂开发工程师-头文件与类声明

区分Class的分类有两大经典,1包含指针的(complex),2不包含指针的(string)。

1.complex

类分为:数据成员部分(在内存中占有数据成员的大小,数据可能会有很多份)与函数部分(只有一份

2.string

类中:仅包含一个指针(这里理解为这一个指针指向,数据成员),创建出的每一个数据成员的大小实际上仅包含一个指针。

3.C++ programs代码基本形式

.h(header files) Classes Declaration(声明)

.cpp()

.h()标准库,引入标准库采用尖括号的形式。

4.防卫式声明(使得含入include的次序不受任何影响)

#ifndef  _COMPLEX_

#define  _COMPLEX_

#endif

5.头文件的布局

#ifndef _COMPLEX_

#define _COMPLEX_                                                                               防卫式声明

----------------------------------------------------------------------

#include <cmath>

class ostream;

class complex;

complex& _doapl(complex* ths, const complex& r);                               前置声明

----------------------------------------------------------------------

class complex{                                                                                           类声明

....

};

----------------------------------------------------------------------

complex::function...                                                                                   类定义

6.class的声明(declaration)

template<typename T>                                                                             模板的引入

class complex{                                                                                           class head

  public:

   complex(T r = 0, T i = 0): re (r), im (r) {}

   complex& operator += (const complex&);

      T real() const {return re;}

   T imag() const {return im;}

  private:

   T re, im;

   friend complex& _doapl (complex*, const complex&); 

};

-------------------------------------------------------------------------

{

  complex<double> c1(2.5,1.5);

  complex<int> c2(2,6);

}

原文地址:https://www.cnblogs.com/sky-z/p/9500802.html

时间: 2024-11-02 00:29:03

C++网易云课堂开发工程师-头文件与类声明的相关文章

C++网易云课堂开发工程师-操作符重载

1.操作符重载,(可以使用成员函数,也可以使用非成员函数) this 所有的成员函数均隐藏着一个参数,this. this与调用者相互绑定. complex c1,c2;                                                                                         对于两个复数的相加,暗含着左边加到右边. inline complex& complex::operator += (this, const compl

C++网易云课堂开发工程师--堆,栈与内存管理

1.output函数 #include<iostream.h> ostream& operator<< (ostream& os, const String& str){ os << str.get_c_str(); return os; } { String s1("hello"); cout << s1; } 2.Stack(栈),heap(堆) { Complex c1(1,2);              

C++网易云课堂开发工程师--类模板

static complex data members static data members member functions static member functions 非静态成员函数:non-static member functions complex c1, c2, c3                                                                             complex c1, c2, c3 cout << c1

C++网易云课堂开发工程师--智能指针

template<class T> class shared_ptr{ public: T& operator*( ) const {return *px;} T* operator->( ) const {return px;} shared_ptr(T* p) : px(p) { } private: T* px; long* pn; } strcut Foo{ void method(void) { } }; shared_ptr<Foo> sp(new ) F

聊一聊【网易云课堂】

(首先说明,这不是广告,知识我个人的一点感受而已) 若干天之前注册了网易云课堂,并填写.邮寄申请讲师的材料. 若干天之后的今天,终于收到通知,我通过了讲师认证,给我名字上加了个大大的"V".以及<petshop4.0源码解读>教程通过了审核,正式发布了.下班之前看了看,竟然已经有6名学习者了,就是不知道他们有没有真的学.有想学的直接去那里看就行了,免费的. 课堂教程的网址是:http://study.163.com/course/introduction/655003.ht

?《Python自动化测试修炼宝典》线上课程已经成功入驻网易云课堂......

<Python自动化测试修炼宝典>线上课程已经成功入驻网易云课堂...... IT测试老兵利用工作之余,亲自录制的<Python自动化测试修炼宝典>线上课程已经成功入驻网易云课堂,想要提高测试技术的小伙伴可以线上购买课程进行学习. 课程背景 测试人员进阶实战课程.本套课程以作者多年测试实战经验为背景,结合大量测试案例深入浅出讲解目前主流web端.app端自动化测试框架以及使用Python如何从0到1实现接口测试框架的搭建. 课程特色 系统教学+实战案例+开放源码.涵盖Python3

网易云课堂-软件工程(C编码实践篇)

网易云课堂-软件工程(C编程实践篇) 识别代码工程质量: 代码风格: 封装接口: 可重用代码: 可重入函数和线程安全: 代码风格的原则:简明.易读.无二义性:代码风格原则在团队交流过程中非常重要.

网易云课堂_C++程序设计入门(上)_第2单元:丹青画松石– EGE图形库_第2节:一个简单的EGE程序

网易云课堂_C++程序设计入门(上)_第2单元:丹青画松石– EGE图形库_第2节:一个简单的EGE程序 #ifndef _GRAPHICS_H_ #define _GRAPHICS_H_ #ifndef __cplusplus #error You must use C++ compiler, or you need filename with '.cpp' suffix #endif #include "ege.h" using namespace ege; #endif #inc

网易云课堂程序设计入门--C语言第七周:指针与字符串学习笔记

====================================== 第七周:指针与字符串学习笔记 网易云课堂 程序设计入门–C语言 指针与字符串 学习笔记 ====================================== 7-1指针初步 7-1-1类型大小与取地址运算 sizeof是一个运算符 给出某个变量货类型在内存中所占据的字节数 sizeof(int); sizeif(i); double变量在内存中占据的空间是int变量的两倍 { int a; a =6; prin