c++类的基本形式(一个简单类的简单sample,命名空间)
- 有人把类说成是占用固定大小内存块的别名,其定义时不占用空间
#include<iostream>
#include<string>
using namespace std;
class mycoach
{
public:
string name="陈培昌";
int age=;
private:
string favorite = "和丁大锅在一起";
public:
void introduce()
{
cout << "大家好,我是" + name << "爱好是:" + favorite << endl;
}
}; void main()
{
mycoach cpc;
cout << "大家好,我是"+cpc.name<<endl;
cpc.introduce();
getchar(); }
输出结果:

- 常见错误----为什么成员函数很重要
#include<iostream>
#include<math.h>
using namespace std;
class mycircle
{
public:
double radius;
double mypie = 3.1415926;
double s = radius*radius*mypie;
}; int main()
{
mycircle circle;
cout << "请输入半径:";
cin >> circle.radius;
cout << "OK半径是: " << circle.radius << " 那么圆的面积是:"<<endl;
cout << circle.s << endl;
system("pause");
return ;
}
输出结果:

what hell that do......究其原因,乃是,类定义时就为mycircle的成员属性s就分配了一块空间,其值是乱码
即使在main函数中为radius赋值,然而这对s并无任何影响,所以其值为乱码,所以计算面积s不得不使用一成员函数
#include<iostream>
#include<math.h>
using namespace std;
class mycircle
{
public:
double radius;
double mypie = 3.1415926;
//double s = radius*radius*mypie;
public:
double gets()
{
return radius*radius*mypie;
}
}; int main()
{
mycircle circle;
cout << "请输入半径:";
cin >> circle.radius;
cout << "OK半径是: " << circle.radius << " 那么圆的面积是:"<<endl;
cout << circle.gets()<< endl;
system("pause");
return ;
}
输出结果:

namespace的用途:比起C来说,C++的函数库十分丰富,有可能遇到库函数名撞库的现象,所以需要namespace来区分
我们常见的namesapce 是标准命名空间即 using namespace std,如果未声明代码要使用的命名空间,那么可以通过这种方法引入
int main()
{
mycircle circle;
std::cout << "请输入半径:";
std::cin >> circle.radius;
std::cout << "OK半径是: " << circle.radius << " 那么圆的面积是:"<<std::endl;
std::cout << circle.gets()<< std::endl;
system("pause");
return ;
}
- 命名空间
#include "iostream"
#include<string>
using namespace std;
namespace cjbefore1014
{
string comment = "懂事,可爱的搏击弟弟一口一个哥";
}
namespace cjafter1014
{
string comment = "冷酷,无情,自私,过河拆桥,傲慢,不可理喻,白眼狼";
} void main()
{
using namespace cjbefore1014;
cout << "once upon the time:有这样一个搏击弟弟" << endl;
cout << "在2019年10月14日以前" << "他是一个" << endl;
cout <<comment << endl;
using namespace cjafter1014;
cout << "在2019年10月14日以后" << "他是一个" << endl;
cout << cjafter1014::comment << endl;
system("pause");
}
输出结果:

c++类的基本形式(一个简单类的简单sample,命名空间)的更多相关文章
- 基类的两个派生类再派生一个派生类 用virtual避免二义性
class vehicle{ int MaxSpeed; int Weight;public: vehicle(int maxspeed, int weight) :MaxSpeed(maxspeed ...
- 使用代码向一个普通的类注入Spring的实例
转载请在页首注明作者与原文地址 一:应用场景 什么是普通的类,就是没有@Controller,@Service,@Repository,@Component等注解修饰的类,同时xml文件中,也没有相应 ...
- 类转json的基类实现
类转json的基类实现 项目地址 github地址 实现原理 使用反射获取类的属性名和属性内容.具体原理可以自己查一下资料 对一个类调用getClass().getDeclaredFields()可以 ...
- 反射01 Class类的使用、动态加载类、类类型说明、获取类的信息
0 Java反射机制 反射(Reflection)是 Java 的高级特性之一,是框架实现的基础. 0.1 定义 Java 反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法:对 ...
- C++_派生类的构造函数及派生类和基类之间的特殊关系
派生类和基类的概念及派生类构造函数的原理: 创建一个叫做TableTennisPlayer的基类,记录会员的名字和是否有球桌. //声明一个基类 class TableTennisPlayer { p ...
- Away3d 基础 1 ---对一个简单类的解释
转自:http://www.cnblogs.com/nooon/archive/2009/05/16/1458334.html 原英文地址: http://www.flashmagazine.com/ ...
- 经测试稳定可用的蓝牙链接通信Demo,记录过程中遇到的问题的思考和解决办法,并整理后给出一个Utils类可以简单调用来实现蓝牙功能
说明:这是本人在蓝牙开发过程中遇到过的问题记录和分析,以及解决办法. 在研究过程中,许多的前人给出的解决方案和思路指导对我相当有帮助,但并非都是可采取的解决方法, 经过本人对这些方法的测试和使用过后, ...
- C++_类继承1-从一个简单的类开始
面向对象编程的主要目的之一是:提供可重用的代码.尤其是项目很庞大的时候,重用测试过的代码比重新编码代码要好得多. C++提供了更高层次的重用性.其中之一就是继承这个概念. 一些厂商提供了类库.类库由类 ...
- Python 元类编程实现一个简单的 ORM
概述 什么是ORM? ORM全称"Object Relational Mapping",即对象-关系映射,就是把关系数据库的一行映射为一个对象,也就是一个类对应一个表,这样,写代码 ...
- Swift - 简单封装一个工具类模板
创建模板类(封装一个类) 例1:新建一个名字叫做 Product 的类 Product.swift File 的内容 class Product { var name: String var desc ...
随机推荐
- 记crt 在windows与linux服务器之间利用ftp进行文件的上传下载
我们首先来熟悉一些相关的命令以及操作: ls #展示linux服务器当前工作目录[你连接sftp时所处的目录]下的所有文件以及文件夹 lcd F:\niki #绑定你在windo ...
- 【坑】springMvc 信息校验,读取不到错误配置信息的问题
文章目录 前言 ResourceBundleMessageSource 后记 前言 springMvc 的一大利器,validation 检验,通过注解,可以帮我们完成校验,很是顺手. 终极偷懒检验, ...
- c++语法笔记(下)
多态性与虚函数 多态性(函数重载,运算符重载就是多态性现象)多态性 :向不同对象发送同一个消息,不同对象在接收时会产生不同的行为.(每个对象用自己的方式去响应共同的消息)多态性又可以分为静态多态性和动 ...
- vue项目搭建通过vue-cli包括组件路由的使用实现基本的前端项目全流程
github上项目地址:https://github.com/comonly/javaweb_blog/tree/master/blog_diverse_frontend 具体搭建流程及实现方式:ht ...
- python学习-50 pickle模块
pickle模块 与json方法是一样的 import pickle dic = {'} print(type(dic)) a = pickle.dumps(dic) print(type(a)) f ...
- 设置阿里云镜像仓库并安装Docker
echo "设置阿里云镜像仓库" mkdir /etc/yum.repos.d/bak && mv /etc/yum.repos.d/*.repo /etc/yum ...
- Spring基础篇——DI/IOC和AOP原理初识
DI(Dependency Injection),依赖注入,和我们常听说的另一个概念 IOC(控制反转)其实归根结底实现的功能是相同的,只是同样的功能站在不同的角度来阐述罢了.这里博主就不去过多的辨析 ...
- Java并发(思维导图)
1,线程状态转换 无限期等待: 限期等待: 线程生命流程: 2,实现方式 代码实现样例[三种方式]: package com.cnblogs.mufasa.demo2; import java.uti ...
- JS原型的动态性
由于在原型中查找成员的过程是一次搜索,所以我们对原型对象所做的任何修改都能立即从实例上反映出来(但不包括对原型对象的重写,下面会介绍到),即使是对原型的修改操作在创建实例之后.如下面的示例所示: fu ...
- class类 - extends
继承是面向对象中一个比较核心的概念.ES6 class的继承与java的继承大同小异,如果学过java的小伙伴应该很容易理解,都是通过extends关键字继承.相较于ES5当中通过原型链继承要清晰和方 ...