- 博客(21)
- 收藏
- 关注
原创 C++基础(十五)运算符重载(a++ ++a ())
#include <iostream>using namespace std;class MyInteger{ friend ostream& operator<<(ostream& cout, MyInteger myint);private: int m_Num;public: MyInteger(int num) { this->m_Num = num; } MyInteger& operator++() { .
2020-09-30 23:37:58 564 3
原创 C++基础(十六)运算符重载(=)
#include <iostream>using namespace std;class Godv {public: int* m_Num; Godv(int num) { m_Num = new int(num); } ~Godv() { if (m_Num != NULL) { delete m_Num; m_Num = NULL; } } Godv& operator=(Godv &gg) { if (thi.
2020-09-30 23:37:12 121
原创 C++基础(十四)运算符重载(+ <<)
operator+#include <iostream>using namespace std;class Person {public: int m_Name; int m_Age; Person operator+(Person &p) { Person temp; temp.m_Age = this->m_Age + p.m_Age; temp.m_Name = this->m_Name + p.m_Name; return t
2020-09-30 22:28:59 131
原创 C++基础(十三)友元
背景:在类中 私有成员变量无法被类外访问1.全局函数做友元实例代码如下:#include <iostream>using namespace std;class Person { //友元 friend void showDetial(Person* p);public: Person(): m_Age(10), m_Name(20) { }public: int m_Age;private: int m_Name;};void showDe.
2020-09-28 23:46:31 157
原创 C++基础(十二)this的使用/常函数常对象
#include <iostream>using namespace std;class Person {public: Person(int age) { this->age = age; } Person& personAdd(int age) { this->age += age; return *this; } int age;};int main() { Person p(10); p.personAdd(.
2020-09-28 21:19:58 121
原创 C++基础(十一)初始化列表
话不多说直接上代码#include <iostream>using namespace std;class Person{public: //初始化列表 Person() : p_A(10), p_B(20), p_C(30) { } // Person(int a, int b, int c) :p_A(a), p_B(b), p_C(c) { } int p_A; int p_B; int p_C;};int main() { Pers.
2020-09-27 21:08:13 98
原创 C++基础(十)深拷贝与浅拷贝
在利用编译器提供的默认拷贝构造函数时,默认的拷贝构造函数是浅拷贝。(浅拷贝)也就是说,当成员变量是存在于堆中的情况下,默认拷贝构造函数(浅拷贝)只复制引用。这样的话,在析构函数中释放 (delete) 堆中的成员变量时就会出现问题所以为了解决这一问题,将浅拷贝修改成深拷贝,即在拷贝的过程中相对的也在堆中开辟新的空间,此时再进行赋值,这样的拷贝就是深拷贝。这样在析构函数释放资源时就不会出现问题了。#include <iostream>using namespace std.
2020-09-26 12:37:17 107
原创 C++基础(九)构造函数和析构函数
构造函数在对象被创建时调用析构函数在对象被销毁时调用class Person{ //构造函数public: Person() { cout << "person 的构造函数被调用" << endl; } //析构函数 ~Person() { cout << "person 的析构函数被调用" << endl; }};前提声明 无参构造函数 有参构造函数 拷贝构造函数class Person{ //构造函数..
2020-09-26 11:55:21 137
原创 C++基础(八)struct和class的区别
class 默认权限为私有struct 默认权限为公共示例代码:#include <iostream>using namespace std;#include <string>class Student{ string name;};struct Teacher{ string name;};int main() { Student s1; // s1.name = "godv"; 报错访问不到 Teacher t1...
2020-09-25 21:27:05 1510
原创 JNI初步(三)更新UI例子
1.在Activity中编写native方法package com.godv.ccalljava;import androidx.appcompat.app.AppCompatActivity;import android.os.Bundle;import android.util.Log;import android.view.View;import android.widget.Toast;public class MainActivity extends AppCompatAc
2020-09-20 20:06:51 446
原创 JNI初步(二)c调用java方法、Log使用
1.写Jni类 并且在下面写好需要被c调用的方法方法体也写好public class Jni { { System.loadLibrary("cCallJava"); } public native int addCallBack(); public int add(int a, int b) { Log.i("godv", "a+b = " + a + b); return a + b; }}2.利.
2020-09-20 17:20:18 998
原创 JNI初步(一)java调用c方法
本例子基于上一篇配置成功后进行简单的函数调用 还未配置成功参照如下链接配置https://blog.csdn.net/we1less/article/details/1086857341.创建jni类 加载动态库public class Jni { { System.loadLibrary("javaCallc"); } //调用c代码实现加法运算 public native int add(int a,int b);}2.利用终端cd
2020-09-20 14:08:25 488
原创 JNI初步配置并且实现一个小例子
首先在新建项目中的local.properties中配置ndk路径ndk.dir=C\:\\android-ndk-r21b在gradle.properties中配置兼容老版本ndkandroid.useDeprecatedNdk=truejni的使用过程1.首先新建调用c代码的类这里以Godv为例public class Godv { { System.loadLibrary("Hello"); } //定义调用代码 publi
2020-09-19 23:10:53 1204
原创 C++基础(七)引用 指向指针的引用
用途 给变量起别名语法 数据类型 &别名 = 原名注意 新建引用必须初始化 引用不可更改指向本质 本质上就是一个指针常量 int * const p = &a;#include <iostream>using namespace std;int main(){ int a = 10; int& b = a; cout << a << " " << b ...
2020-09-15 22:00:04 307
原创 C++基础(六)栈、堆、new关键字、delete关键字
首先更新一点关于常量变量的存储位置全局区: 全局变量 函数体之外的变量 静态变量 static修饰的变量 字符串常量 “godv” const修饰的全局变量 (全局常量)局部变量的声明周期在栈中 不允许返回栈中的地址#include &l...
2020-09-15 21:14:05 259
原创 C++基础(五)结构体
创建结构体#include<iostream>using namespace std;#include<string>struct Godv{ string name; int age;}gg3;//第三种创建方式int main() { //第一种创建方式 Godv gg1; gg1.age = 18; gg1.name = "godv"; cout << "gg1 :" << gg1.age << gg1.
2020-09-13 20:35:54 906
原创 C++基础(四)指针的理解
指针的用途 通过指针可以访问内存 记录地址编号#include<iostream>using namespace std;int main(){ int a = 5000; int* p = &a; //解引用 cout << "*p = " << *p << endl; *p = 1000; cout << "a = " << a << endl; return 0;...
2020-09-13 17:25:26 138
原创 C++基础(三)函数
函数的声明主要是用来解决函数写在后面 前面调用不到的情况#include <iostream>using namespace std;//函数的声明int max(int a, int b);int main(){ int a = 5; int b = 6; int res = max(a,b); cout << res << endl; return 0;}int max(int a, int b) { return a >
2020-09-13 16:11:34 128
原创 C++基础(二)cin+goto+数组 + const
1.数据的输入std::cin >> a;#include <iostream>#include <string>int main(){ std::string str2 = "nice"; std::cout << "请输入str的值" << std::endl; std::cin >> str2; std::cout << "输入的str的值为 : " << str2 <<
2020-09-13 15:15:17 186
原创 C++基础(一)数据类型
常量的定义1. #define 2.const 注意 #define 的形式不要在结尾写分号了#include <iostream>using namespace std;#define Day 7int main() { const int month = 12; cout <<"一周有 " << Day << "天"<< endl; cout << "一年有 " &...
2020-09-13 14:02:58 151
原创 MakeFIle
例子main.c#include <stdio.h>#include "util.h"int main(){ printf("hello , getNumber() = %d\n",getNumber()); return 0;}util.c#include "util.h"int getNumber(){ return 2;}util.hint getNumber();MakeFile SimpleMakefi...
2020-09-10 20:28:35 101
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人