在eclipse编写c++代码知识点小列子

2024-06-23 08:08

本文主要是介绍在eclipse编写c++代码知识点小列子,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

编写

/** Mother.cpp**  Created on: 2014-4-2*      Author: Administrator*/#include "Mother2.h"
#include <iostream>
using namespace std;
Mother2::Mother2() {}
void Mother2::print(){cout<<"this is mother2 print"<<endl;
}
Mother2::~Mother2() {}

/** Mother.h**  Created on: 2014-4-2*      Author: Administrator*/#ifndef MOTHER_H_
#define MOTHER_H_class Mother2 {
public:Mother2();virtual ~Mother2();void print();
};#endif /* MOTHER_H_ */

/** Father.cpp**  Created on: 2014-4-2*      Author: Administrator*/#include "Father.h"
#include <iostream>
using namespace std;
Father::Father() {cout<<"这是父类构造函数"<<endl;}
void Father::print(){std::cout<<"this is father print"<<std::endl;}Father::~Father() {cout<<"这是父类虚函数"<<endl;
}

/** Father.h**  Created on: 2014-4-2*      Author: Administrator*/#ifndef FATHER_H_
#define FATHER_H_class Father {
public:Father();virtual ~Father();virtual void print();
};#endif /* FATHER_H_ */

/** Mother.cpp**  Created on: 2014-4-2*      Author: Administrator*/#include "Mother.h"
#include <iostream>
using namespace std;
Mother::Mother() {cout<<"这是母类构造函数"<<endl;
}
void Mother::print(){cout<<"this is mother print"<<endl;
}
Mother::~Mother() {cout<<"这是母类虚函数"<<endl;
}

/** Mother.h**  Created on: 2014-4-2*      Author: Administrator*/#ifndef MOTHER_H_
#define MOTHER_H_class Mother {
public:Mother();virtual ~Mother();void print();
};#endif /* MOTHER_H_ */

/** Son.cpp**  Created on: 2014-4-2*      Author: Administrator*/#include "Son.h"
#include<iostream>
using namespace std;
Son::Son() {cout<<"这是子类构造函数"<<endl;}
void Son::print() {cout << "this is son demo" << endl;
}
;
Son::~Son() {cout<<"这是子类虚函数"<<endl;
}

/** Son.h**  Created on: 2014-4-2*      Author: Administrator*/#ifndef SON_H_
#define SON_H_#include "Father.h"class Son: public Father {
public:Son();virtual ~Son();void print();
};#endif /* SON_H_ */

//============================================================================
// Name        : AA.cpp
// Author      : zhubin
// Version     :
// Copyright   : Your copyright notice
// Description : Hello World in C++, Ansi-style
//============================================================================
#include<iostream>
#include<stdio.h>
#include<math.h>
#include<cstring>
#include"first//Mother2.h"
using namespace std;
//==运算符重载定义================================================================
// 除了类属关系运算符"."、成员指针运算符".*"、作用域运算符"::"、sizeof运算符和三目运算符"?:"以外,C++中的所有运算符都可以重载
//.运算符“=”和“&”不必用户重载//======static============================================================
//int a;//全局变量也存储在静态数据区
//int main(){
//	//int i;
//	static char str[10];
//	printf("integer: %d; string: (begin)%s(end)", a, str);
//	return 0;
//}
//========static==========================================================
//class M {
//public:
//	M(int a) {
//		A = a;
//		B += a;
//	}
//	static void f1(M m);
//private:
//	int A;
//	static int B;
//};
//
//void M::f1(M m) {
//	cout << "A=" << m.A << endl; //此句话有问题,可改为对象引用,即:m.A
//	cout << "B=" << B << endl;
//}
//
//int M::B = 0;
//void main() {
//	M P(5), Q(10);
//	M::f1(P);file: //调用时不用对象名
//	M::f1(Q);
//}
//==================================================================
//int main ()
//{
//	char *p =new char[6];char* p1= new char("hello");char* p1= new char('a');
//	//error分配一个char(1字节)的空间,
//	//用"Hello"来初始化,这明显不对
//	//p="Hello";
//	//不能将字符串直接赋值给该字符指针p,原因是:
//	//指针p指向的是字符串的第一个字符,只能用下面的strcpy(p,"hellp");cout<<p<<endl;cout<<*p<<endl;
//	int *a = new int(5);//new会在堆上分配一块内存,并会自动调用类的构造函数
//	cout<<a<<endl;
//		cout<<*a<<endl;
//		  string *str = (string*)operator new(sizeof(string));//重载new
//	delete p,a;
//	return 0;
//}
//============模板======================================================
(1)
//template<class T>
//class Base{
//
//};
//class Base1:public Base<int>{};
(2)
//template<class T>
//class Basem{
//
//};
//template<class T>
//class Basem1:public Basem<T>{
//
//};
//template<class T>
//class Test{
//private:
//	T n;
//	const T m;
//	static T x;
//public:
//	Test():n(0){}
//	Test(T t){};
//	~Test();
//	void print();
//	T operator+(T t);
//};
//template<class T>
//void Test<T>::print(){
//	cout<<"print"<<endl;
//}
//template<class T>
//int Test<T>::m=0;//初始化时候指定其类型
//template<class T>
//T Test<T>::operator +(T t){
//	return n+x;
//}
//==================================================================
//class B0 //基类B0声明
//{
//public:
//	B0(){}
//	virtual void display() {
//		cout << "B0::display()" << endl;
//	}
//	virtual ~B0(){}
//	//公有成员函数
//};
//
//class B1: public B0 //公有派生类B1声明
//{
//public:
//	//virtual B1(){}
//	virtual void display() {
//		cout << "B1::display()" << endl;
//	}
//	virtual ~B1(){}
//	//公有成员函数
//};
//class D1: public B1 //公有派生类B1声明
//{
//public:
//	//virtual D1(){}
//	void display() {
//		cout << "D1::display()" << endl;
//	}
公有成员函数
//};
//void fun(B0 *ptr) //普通函数
//		{ //参数为指向基类对象的指针
//	ptr->display(); //”对象指针—>成员名”
//}
//int main() //主函数
//{
//	B0 b0; //声明B0类对象
//	B1 b1; //声明B1类对象
//	D1 d1; //声明D1类对象
//	B0 *p; //声明B0类指针
//	p = &b0; //B0类指针指向B0类对象
//	fun(p);
//	p = &b1; //B0类指针指向B1类对象
//	fun(p);
//	p = &d1; //B0类指针指向D土类对象
//	fun(p);
//	return 0;
//}
//==================================================================
//class Father{
//	int a1,a2;
//public:
//	Father(int a,int b){a1=a,a2=b;}
//	~Father(){}
//};
//class Son:Father{
//	int a3;
//public:
//	Son(int c,int d,int e):Father(c,d),a1(c),a2(d){a3=e;}//派生类参数表
//	Son(int c,int d,int e):Father(c,d),a1(c),a2(d),a3(e){}//派生类参数表
//	Son(int c,int d,int e):a3(c){}
//};
//常对象调用常函数
//class A{//对基类成员和子对象成员的初始化必须在成员初始化列表中进行,新增成员的初始化既可以在成员初始化列表中进行,也可以在构造函数体中进行
//private:
//	int x,y;
//	mutable int a;
//	//static const int a=1;
//	//const int b=1;
//public:
//	void print();
//	void print1()const;
//	A(int x,int y,int a){this->x=x,this->y=y,this->a=a;}
//	//A(int x,int y){this->x=x,this->y=y;}
//	//A(){}
//	~A(){}
//};
//void A::print(){
//	cout<<"print===x="<<x<<",y="<<y<<endl;
//}
mutable int a=5;const int b=5;
//void A::print1()const{
//	a=44;//可以修改被定义成mutable的成员变量
//	cout<<"print1===x="<<x<<",y="<<y<<"a="<<a<<endl;int c = a+b;
//	//a=8;
//	//b=9;
//	//cout<<"a+b="<<c<<endl;
//}
//int main(){A a1(1,1);a1.print();a1.print1();const A a2(2,2);a2.print1();//常对象只能调用常成员
//	A a3(0,0,0);
//	a3.print1();
//	a3.print1();
//}
//==================================================================
//class Point {
//private:
//	int x,y;
//public:
//	Point(int a,int b){x=a,y=b;}
//	friend int len(const Point& p1,const Point& p2);
//	void changePoint(int a,int b){x+=a,y+=b;}
//	void print(void){
//		cout<<"x="<<x<<",y="<<y<<endl;
//	}
//};
//int len(const Point& p1,const Point& p2){
//	int length =(int)sqrt((p1.x-p2.x)*(p1.x-p2.x)+(p1.y-p2.y)*(p1.y-p2.y));
//
//	return length;
//}
//int main(){
//	Point p1(10,10),p2(1,1);
//	p1.changePoint(100,100);
//	p1.print();
//	len(p1,p2);
//	cout<<"距离:"<<len(p1,p2);
//	return 0;
//}
//==================================================================
//windows 程序
//#include <windows.h>
//int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, PSTR szCmdLine,
//		int iCmdShow) {
//	MessageBox(NULL, "Hello", "Hello Demo", MB_OKCANCEL);
//	return (0);
//}//dll
//#include "dllfct.h"
//#include <stdio.h>
//#include<iostream>
//using namespace std;
//int main() {tstfunc();
//	cout<<"this is demo"<<endl;
//	return (0);
//}
//==================================================================
//c++继承
//#include <iostream>
#include"Father.h"
#include"Mother.h"
#include"first/Mother2.h"
#include"Son.h"
using namespace std;
int main() {
cout<<"this is demo"<<endl;cout << "this is eclipse demo====" << endl;
//Mother m1;//母类构造
cout<<"mmm======"<<endl;
Son s;//先构造父类再子类
Mother2 m2;
Father f1;
cout<<"+++1++++++"<<endl;
Father* f2;//不生成构造
//m1.print();
cout<<"++++2+++++"<<endl;
m2.print();
f1.print();
s.print();f2= new Son;//创建两个构造f2->print();
delete f2;
return 0;
}
//==================================================================


这篇关于在eclipse编写c++代码知识点小列子的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1086601

相关文章

从入门到精通C++11 <chrono> 库特性

《从入门到精通C++11<chrono>库特性》chrono库是C++11中一个非常强大和实用的库,它为时间处理提供了丰富的功能和类型安全的接口,通过本文的介绍,我们了解了chrono库的基本概念... 目录一、引言1.1 为什么需要<chrono>库1.2<chrono>库的基本概念二、时间段(Durat

C++20管道运算符的实现示例

《C++20管道运算符的实现示例》本文简要介绍C++20管道运算符的使用与实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧... 目录标准库的管道运算符使用自己实现类似的管道运算符我们不打算介绍太多,因为它实际属于c++20最为重要的

Java中调用数据库存储过程的示例代码

《Java中调用数据库存储过程的示例代码》本文介绍Java通过JDBC调用数据库存储过程的方法,涵盖参数类型、执行步骤及数据库差异,需注意异常处理与资源管理,以优化性能并实现复杂业务逻辑,感兴趣的朋友... 目录一、存储过程概述二、Java调用存储过程的基本javascript步骤三、Java调用存储过程示

Visual Studio 2022 编译C++20代码的图文步骤

《VisualStudio2022编译C++20代码的图文步骤》在VisualStudio中启用C++20import功能,需设置语言标准为ISOC++20,开启扫描源查找模块依赖及实验性标... 默认创建Visual Studio桌面控制台项目代码包含C++20的import方法。右键项目的属性:

c++中的set容器介绍及操作大全

《c++中的set容器介绍及操作大全》:本文主要介绍c++中的set容器介绍及操作大全,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录​​一、核心特性​​️ ​​二、基本操作​​​​1. 初始化与赋值​​​​2. 增删查操作​​​​3. 遍历方

解析C++11 static_assert及与Boost库的关联从入门到精通

《解析C++11static_assert及与Boost库的关联从入门到精通》static_assert是C++中强大的编译时验证工具,它能够在编译阶段拦截不符合预期的类型或值,增强代码的健壮性,通... 目录一、背景知识:传统断言方法的局限性1.1 assert宏1.2 #error指令1.3 第三方解决

C++11委托构造函数和继承构造函数的实现

《C++11委托构造函数和继承构造函数的实现》C++引入了委托构造函数和继承构造函数这两个重要的特性,本文主要介绍了C++11委托构造函数和继承构造函数的实现,具有一定的参考价值,感兴趣的可以了解一下... 目录引言一、委托构造函数1.1 委托构造函数的定义与作用1.2 委托构造函数的语法1.3 委托构造函

MySQL数据库的内嵌函数和联合查询实例代码

《MySQL数据库的内嵌函数和联合查询实例代码》联合查询是一种将多个查询结果组合在一起的方法,通常使用UNION、UNIONALL、INTERSECT和EXCEPT关键字,下面:本文主要介绍MyS... 目录一.数据库的内嵌函数1.1聚合函数COUNT([DISTINCT] expr)SUM([DISTIN

C++11作用域枚举(Scoped Enums)的实现示例

《C++11作用域枚举(ScopedEnums)的实现示例》枚举类型是一种非常实用的工具,C++11标准引入了作用域枚举,也称为强类型枚举,本文主要介绍了C++11作用域枚举(ScopedEnums... 目录一、引言二、传统枚举类型的局限性2.1 命名空间污染2.2 整型提升问题2.3 类型转换问题三、C

C++链表的虚拟头节点实现细节及注意事项

《C++链表的虚拟头节点实现细节及注意事项》虚拟头节点是链表操作中极为实用的设计技巧,它通过在链表真实头部前添加一个特殊节点,有效简化边界条件处理,:本文主要介绍C++链表的虚拟头节点实现细节及注... 目录C++链表虚拟头节点(Dummy Head)一、虚拟头节点的本质与核心作用1. 定义2. 核心价值二