C++ 派生类继承基类的所有成员,这句话对吗?

C++ 派生类继承基类的所有成员,这句话对吗?构造函数、析构函数会被继承吗?求大神们给小弟详细解释下。

3个回答

当然,所有的成员都会继承,区别在于派生类能不能调用和访问,如果是public继承,就不能访问,protected、private继承就可以。

xia_ya_bin
赛寞微控 我又查询了相关的资料,构造函数和复制控制成员不能继承,每个类定义自己的构造函数和复制控制成员---《c++primer 第四版》15.4节
接近 4 年之前 回复
zhanghui962623727
梦回1990 回复罗马理论: 成员作用域问题十个比较重要的概念,通常变量或成员的作用域指的是该变量在程序中的寿命。类中声明的成员其访问权限不同的话,作用域亦不同。对于public变量在基类和派生类中均可访问,且在类外部也可以访问;对于protected成员,可以在基类和派生类中访问,但不允许在其他地方(如主函数中)直接使用;对于private成员,只能在基类中使用。其实从基类继承的public成员和protected成员,在派生类中基本等同于派生类自己的成员变量。所以如果使用派生类的实例对象访问成员变量,那么从基类继承下来的成员就和派生类自己的新成员无太大差别。不知道这是不是您需要的,希望共同学习。注:以上不考虑静态成员变量的存在。
接近 4 年之前 回复
xia_ya_bin
赛寞微控 回复caozhy: 我在派生类中定义一个与基类完全相同的函数(非虚),为什么运行时它不报二义呢。
接近 4 年之前 回复
caozhy
贵阳老马马善福专业维修游泳池堵漏防水工程 回复罗马理论: C++比较复杂,因为它允许你使用指针。通过基类的指针访问不了派生的字段,必须动态转换。
接近 4 年之前 回复
xia_ya_bin
赛寞微控 麻烦您给我解释下,继承的成员与派生类的成员在一个作用域中吗?意思就是说继承的成员与派生类自己的成员有什么区别?谢谢
接近 4 年之前 回复

派生类继承基类所有成员,除了构造函数和析构函数

qq_35178267
咆哮的兔霸霸 哇哦 ,涨知识了
接近 4 年之前 回复
xia_ya_bin
赛寞微控 我刚才查了下资料,确切的说,应该是:派生类继承基类所有成员,除了构造函数和复制控制成员,谢谢你的回答。
接近 4 年之前 回复

继承public和protected,不继承privated

xia_ya_bin
赛寞微控 大兄弟,别瞎说,回去查查书。
接近 4 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
C++ 派生类继承基类的所有成员,这句话对吗?

C++ 派生类继承基类的所有成员,这句话对吗?构造函数、析构函数会被继承吗?求大神们给小弟详细解释下。

Qt派生类继承基类信号槽问题

在A项目中定义基类Base,里面含有发送和接收的信号和槽函数。在项目B中定义派生类ComA继承自Base,B中有一个按钮,点击按钮后调用Base中的sendMsg信号发送信息。 方式1中方法是可行的。但是方法2中槽函数却收不到信息。但是从A向B中发送的信号在方式2中是可行的。方式1采用的是直接引用的方式;方式2采用动态加载的形式。二者区别在什么地方呢?为何直接引用可以,动态加载的就不可以呢?请各位大神指教~~~ 项目A中类的伪代码如下: ``` class Base:public QWidget{ Q_OBJECT ...... signals: void sendMsg(const QString &str); public slots: virtual void recMsg(const QString &str){ } } Class MainWindow:public QMainWindow{ Q_OBJECT ..... signals: void sendMsgToCom(const QString &str); private slots: void recMsgFromCom(const QString &str); } 在MainWindow构造函数中 //方式1 Base *test = new ComA(); this->setCentralWidget((QWidget*)test); connect(test,SIGNAL(sendMsgToFrame(QString)),this,SLOT(recMsgFromCom(QString))); //方式2 QLibrary lib("B.dll"); typedef Base* (*handle)(); handle t = (handle)lib.resolve("CreateComInterface"); this->setCentralWidget((QWidget*)t()); Base *child = t(); connect(child,SIGNAL(sendMsgToFrame(QString)),this,SLOT(recMsgFromCom(QString))); connect(this,SIGNAL(sendMsgToCom(QString)),child,SLOT(recMsgFromFrame(QString))); ``` 项目B中类的伪代码如下,B项目最终导出为动态库,供A使用。 ``` Class ComA:public Base{ Q_OBJECT ...... public slots: //实现基类中槽 virtual void recMsg(const QString &str); } //B中带界面,点击按钮后发送sendMsg信号 //导出C接口 extern "C" __declspec(dllexport) Base* CreateComInterface(); ```

c++派生类怎样调用基类的操作符函数

派生类中怎样调用基类的输出操作符重载函数,想输出基类的私有成员,利用子类的对象

在C++中 怎么在派生类中使用基类中的成员变量 例如如下代码 怎样才能使其跑起来

#include <iostream> using namespace std; class love{ public: char you() { int i=87, j=74 ,k=89; char a=char(i),b=char(j),c=char(k); return 0; } }; class Me:private love{ public: Me():l(a),u(b),n(c){} char const l,u,n; void me() { int d=3,e=3,f=73; char g=char(d), h=char(e),v=char(f); cout<<v<<h<<l<<u<<n<<endl<<g; } }; int main() { Me You; You.me(); return 0; }

C++中派生类对象调用未覆盖的基类成员函数时,到底发生了什么?

麻烦哪位大神该介绍一下使用派生类对象调用基类中成员函数时,内部到底发生了什么?

c++ 派生类 拷贝构造函数 调用基类的构造函数

在进入派生类(derived)的拷贝构造函数之前,就已经调用了基类(based)的构造函数, 无论你有没有显示的调用。 一般派生类是这种形式: derived(const derived & d):based(d) {} 为什么使用下列形式不行 derived(const derived & d) { based::based(d); } 即在派生类构造函数内部调用基类构造函数。调试的时候发现无法访问基类的私有成员。 为什么使用初始化列表就可以访问基类的私有成员

派生类对象如何访问基类的基类中被隐藏的同名函数成员

``` #include <iostream> using namespace std; class Base0{ public: int var0; void Func(){ cout << "This is Func of Base0" << endl; } }; class Base1:public Base0{ public: int var1; void Func(){ cout << "This is Func of Base1" << endl; } }; class Base2:public Base0{ public: int var1; void Func(){ cout << "This is Func of Base2" << endl; } }; class Derived:public Base1, public Base2{ public: int var; void Func(){ cout << "This is Func of Derived" << endl; } }; int main(void) { Derived dest; dest.Func(); dest.Base1::Func(); // dest.Base0::Func(); //ERROR return 0; } ``` 我把问题改的复杂了一点 现在Derived类中有Base0::Func()的两个副本,我想访问从Base1继承来的Base0::Func()该如何操作呢

c++ 派生类向基类转换的可访问性问题

c++ 派生类向基类转换的可访问性问题 C++ primer第五版有这样的描述和我实际编码的例子有点冲突,求教 **c++ primer(第五版)描述: 假定D继承自B:** 1. 如果当D共有继承B时, 用户代码才能使用派生类向基类的转换; 如果D继承B的方式是受保护的或者私有的则用户代码不能使用此转换。(这一点没有什么问题,关键是接下来两点和提示) 2. 不论D以什么方式继承B,D的成员函数和友员都能使用派生类向基类的的转换,派生类向其直接基类的转换对其成员和友员来说是永远可访问的。 3. 无论D继承B的方式是共有的或者保护的,则D的派生类的成员和友员可以使用D向B的类型转换; 反之, 如果D继承B的方式是私有的,则不能使用。 tip. 对于代码中的给定节点来说,如果基类的共有成员是可访问的,则派生类向基类的转化是可访问的,反之则不行 我的代码特别简单,就是想试试友员 class Base { public: virtual int get_prot() {return prot;} protected: int prot = 3; }; class Prot_derived : protected Base { friend void func(Base *b); public: virtual int get_prot() {return prot;} }; void func(Base *b) { } int main() { Prot_derived pd; func(&pd);//error: ‘Base’ is an inaccessible base of ‘Prot_derived’ } ``` ``` 首先这个代码有点怪, **1. func不是基类的友员,所以不可以访问基类的保护成员和私有成员,但是在func应该可以访问基类的共有成员(tip) 2. func是派生类的友员,可是转换不允许, 到底哪里出错,我没有找到, (描述第二点)** 在此多谢大家帮忙

C++ 如何用基类数组存储派生类数据?

比如说有个基类: ``` class parent { public: int a; int b; }; ``` 有两个派生类 ``` class A : public parent { public: double xx; }; class B : public parent { public: float yyy; }; ``` 由于我现在不知道未来要定义的是那个派生类 想用parent类构建一个数组存储,但是parent对象数组怎么才能区分对象A和对象B? 可能我思路不对,有什么思路烦请提示一下哈

C++基类派生类继承输出问题!

#include using namespace std; class A{ public: virtual void F(){cout << 1 << endl;} void CallF(){F();} virtual ~A(){CallF(); F();} }; class B : public A{ public: void F(){cout << 2 << endl;} ~B(){} }; class C : public B{ public: void F(){cout << 3 << endl;} void CallF(){F(); A::CallF();} ~C(){CallF();} }; int main(){ A * p = new C(); p->CallF(); delete p; return 0; } 代码输出结果为33311。 我的理解是delete p语句首先调用派生类C析构函数,然后调用基类B的析构函数,接着调用A的析构函数。 当调用C的析构函数时,会执行C类的CallF()函数,为什么这一步会输出两个3? 当调用A的析构函数,为什么会输出两个1?

大神们,求助c++代码怎么写?

基类Smart如下: class Smart { protected: int a; int b; public: void setab(int x, int y) { a=x; b=y; } void print( ) { cout<< "a="< } }; 通过Smart创建一个派生类SmartBut,SmartBut继承基类所有成员,自己还声明了一个数据成员sum和一个成员函数display。display函数首先执行sum=a*b,然后将sum值输出显示。在main() 函数中,使用SmartBut创建一个对象,并对该对象的三个数据成员赋值,并在屏幕上输出显示三个成员的赋值内容。

基类指针怎么访问派生类的成员函数呢(新增的)?而且这样访问为什么是错的。

#include<iostream> using namespace std; class Base { public: virtual void printBase(){} private: int bval; }; class Derived:public Base{ public: virtual void printDerived() {} private: int dval; }; void main(){ Derived derived1,derived2; Base *ptb=&derived1; ptb->printDerived();//没有成员函数printDerived1 ptb->printBase(); Base &rfb=derived2; rfb.printDerived();//这个也是, rfb.printBase(); }

为什么派生类的指针指向基类对象 还可以调用派生类的函数?

想不明白啊,高手帮帮忙吧 Derived1 * hh = static_cast<Derived1 *>(new Base); hh->derivedfunction(); // 这里竟然是可以的 为什么呢 hh指向的是一个基类对象啊?? 而且即使derivedfunction里面用到派生类的私有成员也是可以的, 这到底是为什么啊???

如何用数组存放一个基类派生的多种派生类?

我写了一个基类,用其派生了多个派生类, 接着我生成一个基类数组,再在程序里按输入情况对应将每个数组成员变成派生类, 请问这样如何实现? 我试过 p[i]=new student; 但是说i不能是变量

基类指针不能指向派生类对象吗

如图,谁能告诉我报错的意思是啥呀 ![图片说明](https://img-ask.csdn.net/upload/201904/13/1555157374_670291.jpg)

派生类存放在基类类型vector中,怎么用派生类的函数?

我已经成功将派生类存放在基类类型的vector表中,也能定位位置,就是不知道怎么使用派生类的函数,只能用基类的函数,求解啊! #include<iostream> #include<vector> #include<algorithm> #include<string.h> using namespace std; class people { public: people() { name = new char[20]; code = 0; sex = new char[8]; number = new char[20]; }; bool people::operator==(const people &rhs) const { return (code == rhs.code); }; void in_mess() { cout << "输入名字、编号、性别、身份证号" << endl; cin >> name; cin >> code; cin >> sex; cin >> number; }; const int consttime = 10; void out_mess() { cout << "名字:" << name << endl; cout << "编号:" << code << endl; cout << "性别:" << sex << endl; cout << "身份证号:" << number << endl; }; int seach() { return code; }; void eq_SC(int a) { code = a; } private: char *name; int code; char *sex; char *number; }; class student : virtual public people { public: student(){}; friend istream&operator>>(istream&in, student &p) { p.in_mess(); return in; }; void out_messs() { people::out_mess(); cout << "身份:学生" << endl; cout << "总学时:" << consttime << endl; } }; class teacher :virtual public people { public: teacher() { teachtime = 0; }; friend istream&operator>>(istream&in, teacher &p) { p.in_mess(); cout << "身份:老师" << endl; cout << "输入教学学时" << endl; in >> p.teachtime; return in; } void out_messs() { people::out_mess(); cout << "身份:老师" << endl; cout << "总学时:" << teachtime + consttime << endl; } int get_TT() { return teachtime + consttime; } private: int teachtime; }; class graduate : virtual public student { public: graduate() { freetime = 0; }; friend istream&operator>>(istream&in, graduate &p) { p.in_mess(); cout << "身份:研究生" << endl; cout << "输入自由研究时间" << endl; in >> p.freetime; return in; } void out_messs() { people::out_mess(); cout << "身份:研究生" << endl; cout << "总学时:" << freetime + consttime << endl; } int get_FT() { return freetime+consttime; } private: int freetime; }; class TA : public graduate, public teacher { public: TA() { resarch_time = 0; }; friend istream&operator>>(istream&in, TA &p) { p.in_mess(); cout << "身份:助教" << endl; cout << "输入做研究和一定教学工作学时" << endl; in >> p.resarch_time; return in; }; void out_messs() { people::out_mess(); cout << "身份:助教" << endl; cout << "总学时:" << resarch_time +consttime+get_FT()+get_TT() << endl; }; private: int resarch_time; }; void main() { cout << "当前为空表,请输入第一个人员的信息" << endl; cout << "插入身份为 1.学生 2.老师 3.研究生 4.助教 请输入序号" << endl; int num=0; people first; cin >> num; if (num == 1) { student first; cin >> first; } else if (num == 2) { teacher first; cin >> first; } else if (num == 3) { graduate first; cin >> first; } else if (num == 4) { TA first; cin >> first; }; vector<people>::iterator location;//迭代子 vector<people>V(1, first); while (1) { int gong; cout << "请选择功能" << endl; cout << "1.插入新的信息 2.查找 " << endl; cin >> gong; if (gong == 1) { cout << "插入身份为 1.学生 2.老师 3.研究生 4.助教 请输入序号" << endl; int num; cin >> num; if (num == 1) { student human; cin >> human; V.push_back(human); } else if (num == 2) { teacher human; cin >> human; V.push_back(human); } else if (num == 3) { graduate human; cin >> human; V.push_back(human); } else if (num == 4) { TA human; cin >> human; V.push_back(human); }; } else if (gong == 2) { people _new; int studycodee; cout << "请输入他(她)的编号" << endl; cin >> studycodee; _new.eq_SC(studycodee); location = find(V.begin(), V.end(), _new); if (location != V.end()) { V[location - V.begin()].out_mess(); } else cout << "未找到" << endl; } } } 下面查找功能只能用到其基类的函数,用不到派生类的,我觉得是因为vector是存放的people类导致的,但是即使我将其派生并且重新放置派生类进去,它依然只认基类不认派生类函数啊!怎么办呀!

C++作业派生类的定义求解

如下,现已有一个完整的长方形的类Rectangle, 数据成员有长和宽,成员函数包括一个构造函数和一个计算面积的函数area()。 请写出一个表示长方体的派生类Box,继承这个已给出的Rectangle类,满足以下要求: (1)* 只能新增一个数据成员:height (高)。 (2)* 定义一个合适的Box类构造函数,使得main函数中创建对象的初始化可行; (3)* 使用合适的继承方式,使得main函数中能通过派生类Box对象直接调用基类中的area()函数输出底面积。 (4) 新增一个成员函数 volume() 返回长方体的体积,使得main函数中的调用可行; #include<iostream> using namespace std; class Rectangle //长方形 { public: Rectangle(double l, double w) : length(l), width(w) { } double area() { return length * width; } private: double length; //长 double width; //宽 }; //在此定义派生类Box // 在此处补充你的代码 int main() { Box b1(10, 20, 30); cout << b1.area() << endl; cout << b1.volume() << endl; return 0; } 输入 无 输出 main函数输出的两行,第一行应该是b1的底面积,第二行输出的是b1的体积 样例输入 无 样例输出 200 6000

派生类对象初始化后,派生类的私有成员不显示

代码如下,定义了一个抽象基类ABCDMA,派生出BaseDMA,LacksDMA,HasDMA三个类,其中BaseDMA的私有成员和ABCDMA类完全一样。每个类都有一个重新定义的View()函数用于显示类成员。 测试程序时出现问题,定义了一个ABCDMA类指针数组,用户自己决定数组元素指向哪个类型的对象。在初始化后调用View()函数时,BaseDMA类没有问题,但是剩下两个类的私有成员显示不出来。求解这是为什么呢? **主程序** ``` //dmanew.cpp #include <iostream> #include <cctype> #include "abcdma.h" int main() { using std::cin; using std::cout; using std::endl; char trigger; char templab[30]; int rat; ABCDMA *item[10]; char kind; for(int i=0;i<10;i++) { cout<<"Enter the label of item #"<<i+1<<": "<<endl; cin.getline(templab,30); cout<<"Enter the rating of item #"<<i+1<<": "<<endl; cin>>rat; cout<<"Enter 1 for BaseDMA, 2 for LacksDMA or 3 for HasDMA: "; while(cin>>kind && (kind!='1' && kind!='2' && kind!='3')) cout<<"Enter 1,2 or 3: "; if(kind=='1') item[i]=new BaseDMA(templab,rat); else if(kind=='2') { char tempcolor[40]; cout<<"Enter the color of item #"<<i+1<<": "<<endl; cin.getline(tempcolor,40); item[i]=new LacksDMA(tempcolor,templab,rat); } else { char tempstyle[30]; cout<<"Enter the style of item #"<<i+1<<": "<<endl; cin.getline(tempstyle,30); item[i]=new HasDMA(tempstyle,templab,rat); } while(cin.get()!='\n') continue; } cout<<endl; for(int i=0;i<10;i++) { item[i]->View(); } for(int i=0;i<10;i++) { delete item[i]; } cout<<"Done.Bye!"<<endl; return 0; } ``` **头文件** ``` //abcdma.h #ifndef ABCDMA_H_ #define ABCDMA_H_ //abstract base class class ABCDMA { private: char *label; int rating; public: ABCDMA(const char *l="null",int r=0); ABCDMA(const ABCDMA &ad); virtual void View() const=0; virtual ~ABCDMA() {delete [] label;} ABCDMA &operator=(const ABCDMA &ad); }; //BaseDMA class class BaseDMA:public ABCDMA { public: BaseDMA(const char *l="null",int r=0); BaseDMA(const ABCDMA &ad):ABCDMA(ad) {} BaseDMA(const BaseDMA &rs); ~BaseDMA() {} virtual void View() const; BaseDMA &operator=(const BaseDMA &rs); }; //LacksDMA class class LacksDMA:public ABCDMA { private: enum {COL_LEN=40}; char color[COL_LEN]; public: LacksDMA(const char *c="blank",const char *l="null",int r=0); LacksDMA(const char *c,const ABCDMA &ad); virtual void View() const; }; //HasDMA class class HasDMA:public ABCDMA { private: char *style; public: HasDMA(const char *s="none",const char *l="null",int r=0); HasDMA(const char *s,const ABCDMA &ad); HasDMA(const HasDMA &hs); ~HasDMA() {delete [] style;} virtual void View() const; HasDMA &operator=(const HasDMA &hs); }; #endif ``` **类方法实现** ``` //abcdma.cpp #include <iostream> #include <cstring> #include "abcdma.h" //ABCDMA methods ABCDMA::ABCDMA(const char *l,int r) { label=new char[std::strlen(l)+1]; std::strcpy(label,l); rating=r; } ABCDMA::ABCDMA(const ABCDMA &ad) { label=new char[std::strlen(ad.label)+1]; std::strcpy(label,ad.label); rating=ad.rating; } void ABCDMA::View() const { std::cout<<"Label: "<<label<<std::endl; std::cout<<"Rating: "<<rating<<std::endl; } ABCDMA &ABCDMA::operator=(const ABCDMA &ad) { if(this==&ad) return *this; delete [] label; label=new char[std::strlen(ad.label)+1]; std::strcpy(label,ad.label); rating=ad.rating; return *this; } //BaseDMA methods BaseDMA::BaseDMA(const char *l,int r):ABCDMA(l,r) {} BaseDMA::BaseDMA(const BaseDMA &rs):ABCDMA(rs) {} void BaseDMA::View() const { ABCDMA::View(); } BaseDMA &BaseDMA::operator=(const BaseDMA &rs) { if(this==&rs) return *this; ABCDMA::operator=(rs); return *this; } //LacksDMA methods LacksDMA::LacksDMA(const char *c,const char *l,int r):ABCDMA(l,r) { std::strncpy(color,c,39); color[39]='\0'; } LacksDMA::LacksDMA(const char *c,const ABCDMA &ad):ABCDMA(ad) { std::strncpy(color,c,COL_LEN-1); color[COL_LEN-1]='\0'; } void LacksDMA::View() const { ABCDMA::View(); std::cout<<"Color: "<<color<<std::endl; } //HasDMA methods HasDMA::HasDMA(const char *s,const char *l,int r):ABCDMA(l,r) { style=new char[std::strlen(s)+1]; std::strcpy(style,s); } HasDMA::HasDMA(const char *s,const ABCDMA &ad):ABCDMA(ad) { style=new char[std::strlen(s)+1]; std::strcpy(style,s); } HasDMA::HasDMA(const HasDMA &hs):ABCDMA(hs) { style=new char[std::strlen(hs.style)+1]; std::strcpy(style,hs.style); } void HasDMA::View() const { ABCDMA::View(); std::cout<<"Style: "<<style<<std::endl; } HasDMA &HasDMA::operator=(const HasDMA &hs) { if(this==&hs) return *this; ABCDMA::operator=(hs); delete [] style; style=new char[std::strlen(hs.style)+1]; std::strcpy(style,hs.style); return *this; } ```

C++基类指针怎么调用派生类的方法

![图片说明](https://img-ask.csdn.net/upload/201711/05/1509855025_446289.png)#include <iostream> using namespace std; class Vehicle{ public: stop(){ cout<<"停止"<<endl; system("pause"); } run(){ cout<<"I'm vehicle"<<endl; } }; class Bicycle:public Vehicle{ public: run(){ cout<<"I'm Bicycle"<<endl; } Bicycle(){}; }; class Motorcar:public Vehicle{ public: run(){ cout<<"I'm Motorcar"<<endl; } }; class Motorcycle:public Bicycle,public Motorcar{ public: run(){ cout<<"I'm Motorcycle"<<endl; } }; int main(int argc,char *argv[]){ Vehicle* p; Vehicle veh; Bicycle bic; Motorcar mot; Motorcycle moto; p=&veh; p->run(); p=&bic; p->run(); p=&mot; p->run(); moto.run(); // p=&moto; // p->run(); Vehicle类型指针不能指向moto对象 return 0; }

把派生类对象赋给基类对象有什么用?

… Derive A; //派生类对象A Base B; //基类对象B A.fun(); //操作1 A=B; A.fun(); //操作2 把B赋给A是可以的 但是操作1的结果和操作2的结果我测试后是一样的。。

在中国程序员是青春饭吗?

今年,我也32了 ,为了不给大家误导,咨询了猎头、圈内好友,以及年过35岁的几位老程序员……舍了老脸去揭人家伤疤……希望能给大家以帮助,记得帮我点赞哦。 目录: 你以为的人生 一次又一次的伤害 猎头界的真相 如何应对互联网行业的「中年危机」 一、你以为的人生 刚入行时,拿着傲人的工资,想着好好干,以为我们的人生是这样的: 等真到了那一天,你会发现,你的人生很可能是这样的: ...

Java校招入职华为,半年后我跑路了

何来 我,一个双非本科弟弟,有幸在 19 届的秋招中得到前东家华为(以下简称 hw)的赏识,当时秋招签订就业协议,说是入了某 java bg,之后一系列组织架构调整原因等等让人无法理解的神操作,最终毕业前夕,被通知调往其他 bg 做嵌入式开发(纯 C 语言)。 由于已至于校招末尾,之前拿到的其他 offer 又无法再收回,一时感到无力回天,只得默默接受。 毕业后,直接入职开始了嵌入式苦旅,由于从未...

Java基础知识面试题(2020最新版)

文章目录Java概述何为编程什么是Javajdk1.5之后的三大版本JVM、JRE和JDK的关系什么是跨平台性?原理是什么Java语言有哪些特点什么是字节码?采用字节码的最大好处是什么什么是Java程序的主类?应用程序和小程序的主类有何不同?Java应用程序与小程序之间有那些差别?Java和C++的区别Oracle JDK 和 OpenJDK 的对比基础语法数据类型Java有哪些数据类型switc...

@程序员:GitHub这个项目快薅羊毛

今天下午在朋友圈看到很多人都在发github的羊毛,一时没明白是怎么回事。 后来上百度搜索了一下,原来真有这回事,毕竟资源主义的羊毛不少啊,1000刀刷爆了朋友圈!不知道你们的朋友圈有没有看到类似的消息。 这到底是啥情况? 微软开发者平台GitHub 的一个区块链项目 Handshake ,搞了一个招募新会员的活动,面向GitHub 上前 25万名开发者派送 4,246.99 HNS币,大约价...

再不跳槽,应届毕业生拿的都比我多了!

跳槽几乎是每个人职业生涯的一部分,很多HR说“三年两跳”已经是一个跳槽频繁与否的阈值了,可为什么市面上有很多程序员不到一年就跳槽呢?他们不担心影响履历吗? PayScale之前发布的**《员工最短任期公司排行榜》中,两家码农大厂Amazon和Google**,以1年和1.1年的员工任期中位数分列第二、第四名。 PayScale:员工最短任期公司排行榜 意外的是,任期中位数极小的这两家公司,薪资...

我以为我学懂了数据结构,直到看了这个导图才发现,我错了

数据结构与算法思维导图

技术大佬:我去,你写的 switch 语句也太老土了吧

昨天早上通过远程的方式 review 了两名新来同事的代码,大部分代码都写得很漂亮,严谨的同时注释也很到位,这令我非常满意。但当我看到他们当中有一个人写的 switch 语句时,还是忍不住破口大骂:“我擦,小王,你丫写的 switch 语句也太老土了吧!” 来看看小王写的代码吧,看完不要骂我装逼啊。 private static String createPlayer(PlayerTypes p...

华为初面+综合面试(Java技术面)附上面试题

华为面试整体流程大致分为笔试,性格测试,面试,综合面试,回学校等结果。笔试来说,华为的难度较中等,选择题难度和网易腾讯差不多。最后的代码题,相比下来就简单很多,一共3道题目,前2题很容易就AC,题目已经记不太清楚,不过难度确实不大。最后一题最后提交的代码过了75%的样例,一直没有发现剩下的25%可能存在什么坑。 笔试部分太久远,我就不怎么回忆了。直接将面试。 面试 如果说腾讯的面试是挥金如土...

和黑客斗争的 6 天!

互联网公司工作,很难避免不和黑客们打交道,我呆过的两家互联网公司,几乎每月每天每分钟都有黑客在公司网站上扫描。有的是寻找 Sql 注入的缺口,有的是寻找线上服务器可能存在的漏洞,大部分都...

讲一个程序员如何副业月赚三万的真实故事

loonggg读完需要3分钟速读仅需 1 分钟大家好,我是你们的校长。我之前讲过,这年头,只要肯动脑,肯行动,程序员凭借自己的技术,赚钱的方式还是有很多种的。仅仅靠在公司出卖自己的劳动时...

win10暴力查看wifi密码

刚才邻居打了个电话说:喂小灰,你家wifi的密码是多少,我怎么连不上了。 我。。。 我也忘了哎,就找到了一个好办法,分享给大家: 第一种情况:已经连接上的wifi,怎么知道密码? 打开:控制面板\网络和 Internet\网络连接 然后右击wifi连接的无线网卡,选择状态 然后像下图一样: 第二种情况:前提是我不知道啊,但是我以前知道密码。 此时可以利用dos命令了 1、利用netsh wlan...

上班一个月,后悔当初着急入职的选择了

最近有个老铁,告诉我说,上班一个月,后悔当初着急入职现在公司了。他之前在美图做手机研发,今年美图那边今年也有一波组织优化调整,他是其中一个,在协商离职后,当时捉急找工作上班,因为有房贷供着,不能没有收入来源。所以匆忙选了一家公司,实际上是一个大型外包公司,主要派遣给其他手机厂商做外包项目。**当时承诺待遇还不错,所以就立马入职去上班了。但是后面入职后,发现薪酬待遇这块并不是HR所说那样,那个HR自...

女程序员,为什么比男程序员少???

昨天看到一档综艺节目,讨论了两个话题:(1)中国学生的数学成绩,平均下来看,会比国外好?为什么?(2)男生的数学成绩,平均下来看,会比女生好?为什么?同时,我又联想到了一个技术圈经常讨...

总结了 150 余个神奇网站,你不来瞅瞅吗?

原博客再更新,可能就没了,之后将持续更新本篇博客。

副业收入是我做程序媛的3倍,工作外的B面人生是怎样的?

提到“程序员”,多数人脑海里首先想到的大约是:为人木讷、薪水超高、工作枯燥…… 然而,当离开工作岗位,撕去层层标签,脱下“程序员”这身外套,有的人生动又有趣,马上展现出了完全不同的A/B面人生! 不论是简单的爱好,还是正经的副业,他们都干得同样出色。偶尔,还能和程序员的特质结合,产生奇妙的“化学反应”。 @Charlotte:平日素颜示人,周末美妆博主 大家都以为程序媛也个个不修边幅,但我们也许...

MySQL数据库面试题(2020最新版)

文章目录数据库基础知识为什么要使用数据库什么是SQL?什么是MySQL?数据库三大范式是什么mysql有关权限的表都有哪几个MySQL的binlog有有几种录入格式?分别有什么区别?数据类型mysql有哪些数据类型引擎MySQL存储引擎MyISAM与InnoDB区别MyISAM索引与InnoDB索引的区别?InnoDB引擎的4大特性存储引擎选择索引什么是索引?索引有哪些优缺点?索引使用场景(重点)...

如果你是老板,你会不会踢了这样的员工?

有个好朋友ZS,是技术总监,昨天问我:“有一个老下属,跟了我很多年,做事勤勤恳恳,主动性也很好。但随着公司的发展,他的进步速度,跟不上团队的步伐了,有点...

我入职阿里后,才知道原来简历这么写

私下里,有不少读者问我:“二哥,如何才能写出一份专业的技术简历呢?我总感觉自己写的简历太烂了,所以投了无数份,都石沉大海了。”说实话,我自己好多年没有写过简历了,但我认识的一个同行,他在阿里,给我说了一些他当年写简历的方法论,我感觉太牛逼了,实在是忍不住,就分享了出来,希望能够帮助到你。 01、简历的本质 作为简历的撰写者,你必须要搞清楚一点,简历的本质是什么,它就是为了来销售你的价值主张的。往深...

程序员写出这样的代码,能不挨骂吗?

当你换槽填坑时,面对一个新的环境。能够快速熟练,上手实现业务需求是关键。但是,哪些因素会影响你快速上手呢?是原有代码写的不够好?还是注释写的不够好?昨夜...

!大部分程序员只会写3年代码

如果世界上都是这种不思进取的软件公司,那别说大部分程序员只会写 3 年代码,恐怕就没有程序员这种职业。

离职半年了,老东家又发 offer,回不回?

有小伙伴问松哥这个问题,他在上海某公司,在离职了几个月后,前公司的领导联系到他,希望他能够返聘回去,他很纠结要不要回去? 俗话说好马不吃回头草,但是这个小伙伴既然感到纠结了,我觉得至少说明了两个问题:1.曾经的公司还不错;2.现在的日子也不是很如意。否则应该就不会纠结了。 老实说,松哥之前也有过类似的经历,今天就来和小伙伴们聊聊回头草到底吃不吃。 首先一个基本观点,就是离职了也没必要和老东家弄的苦...

HTTP与HTTPS的区别

面试官问HTTP与HTTPS的区别,我这样回答让他竖起大拇指!

男生更看重女生的身材脸蛋,还是思想?

往往,我们看不进去大段大段的逻辑。深刻的哲理,往往短而精悍,一阵见血。问:产品经理挺漂亮的,有点心动,但不知道合不合得来。男生更看重女生的身材脸蛋,还是...

程序员为什么千万不要瞎努力?

本文作者用对比非常鲜明的两个开发团队的故事,讲解了敏捷开发之道 —— 如果你的团队缺乏统一标准的环境,那么即使勤劳努力,不仅会极其耗时而且成果甚微,使用...

为什么程序员做外包会被瞧不起?

二哥,有个事想询问下您的意见,您觉得应届生值得去外包吗?公司虽然挺大的,中xx,但待遇感觉挺低,马上要报到,挺纠结的。

当HR压你价,说你只值7K,你该怎么回答?

当HR压你价,说你只值7K时,你可以流畅地回答,记住,是流畅,不能犹豫。 礼貌地说:“7K是吗?了解了。嗯~其实我对贵司的面试官印象很好。只不过,现在我的手头上已经有一份11K的offer。来面试,主要也是自己对贵司挺有兴趣的,所以过来看看……”(未完) 这段话主要是陪HR互诈的同时,从公司兴趣,公司职员印象上,都给予对方正面的肯定,既能提升HR的好感度,又能让谈判气氛融洽,为后面的发挥留足空间。...

面试:第十六章:Java中级开发(16k)

HashMap底层实现原理,红黑树,B+树,B树的结构原理 Spring的AOP和IOC是什么?它们常见的使用场景有哪些?Spring事务,事务的属性,传播行为,数据库隔离级别 Spring和SpringMVC,MyBatis以及SpringBoot的注解分别有哪些?SpringMVC的工作原理,SpringBoot框架的优点,MyBatis框架的优点 SpringCould组件有哪些,他们...

面试阿里p7,被按在地上摩擦,鬼知道我经历了什么?

面试阿里p7被问到的问题(当时我只知道第一个):@Conditional是做什么的?@Conditional多个条件是什么逻辑关系?条件判断在什么时候执...

终于懂了TCP和UDP协议区别

终于懂了TCP和UDP协议区别

Python爬虫,高清美图我全都要(彼岸桌面壁纸)

爬取彼岸桌面网站较为简单,用到了requests、lxml、Beautiful Soup4

立即提问
相关内容推荐